我似乎无法在这里找到答案。我有一个有800k行的数据帧。我想迭代每一行,将一列中的字符串值传递给Google Translate API,然后将翻译添加到该行中的另一列。当我这样做时它只给出了整个数据帧(df$word
和df$heading
)的第一行的值,并在之后的每一行中再现它。我想要的是在第1行中获取$word
的值,我想用API翻译它,并使第1行中的$fr_translation
的值为{I}。我想为每个人执行此操作行。我确信它很容易,但我对R很新。以下是适用于翻译但不适用于每一行的代码:
library(translate)
set.key("my_key")
for(i in seq_len(nrow(df))){
df$fr_translation <- translate(df$word, 'en', 'fr')
df$fr_heading <- translate(df$heading, 'en', 'fr')
}
答案 0 :(得分:0)
您在每次迭代时都没有引用i
行。将部件固定在循环内部,如下所示:
df$fr_translation[i] <- translate(df$word[i], 'en', 'fr')
df$fr_heading[i] <- translate(df$heading[i], 'en', 'fr')