You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2022年R语言数据框翻译求助:translateR已归档,deeplr无translate_df?

可行的R包及解决方法

1. 使用deepR包(基于DeepL API)

这个包可调用DeepL的翻译API,虽无直接处理数据框的函数,但能快速自定义函数实现需求。需先注册DeepL账号获取API密钥(免费版有使用额度)。

  • 安装包:
devtools::install_github("bnosac/deepR")
  • 配置密钥并自定义翻译函数:
library(deepR)
# 替换为你的DeepL API密钥
Sys.setenv(DEEPL_API_KEY = "your_api_key")

translate_df <- function(df, cols, target_lang = "FR") {
  for (col in cols) {
    df[[col]] <- deep_translate(text = df[[col]], 
                                target_lang = target_lang, 
                                source_lang = "EN")
  }
  return(df)
}

# 使用示例:翻译数据框df中的col1和col2列
translated_df <- translate_df(df, cols = c("col1", "col2"))

2. 使用googleLanguageR包(基于Google Cloud翻译API)

依赖Google Cloud翻译服务,需先获取API密钥(有免费试用额度,后续按使用量计费)。

  • 安装包:
install.packages("googleLanguageR")
  • 配置密钥并处理数据框:
library(googleLanguageR)
# 替换为你的API密钥文件路径
gl_auth("path/to/your/api-key.json")

translate_df <- function(df, cols, target = "fr") {
  df[cols] <- lapply(df[cols], function(x) {
    trans_result <- gl_translate(x, target = target, source = "en")
    trans_result$translatedText
  })
  return(df)
}

# 使用示例
translated_df <- translate_df(df, cols = c("col1", "col2"))

3. 使用translate包(轻量多引擎支持)

支持Google Translate、Bing等多个翻译引擎,部分引擎无需API密钥,适合小批量文本翻译。

  • 安装包:
install.packages("translate")
  • 自定义数据框翻译函数:
library(translate)

translate_df <- function(df, cols, target = "fr") {
  df[cols] <- lapply(df[cols], function(x) {
    translate(x, from = "en", to = target, engine = "google")
  })
  return(df)
}

# 使用示例
translated_df <- translate_df(df, cols = c("col1", "col2"))

额外提示

  • 使用API类服务时,注意免费额度限制,避免超出产生费用;
  • 处理大体积数据时,建议分批次翻译,避免触发API频率限制。

内容的提问来源于stack exchange,提问作者healthdata4020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 18:15:35