2017-06-18 128 views
0

我似乎无法在此处找到答案。我有一个有800k行的数据框。我想迭代每一行,将一列中字符串的值传递给Google Translate API,然后将该翻译添加到该行中的另一列。当我这样做时,它只给出整个数据帧第一行的值(df$worddf$heading),并在之后的每一行中再现它。我想要的是在第1行中获得$word的值,我想用API翻译它,并在第1行中将该翻译的值设置为$fr_translation。我想为每个单独的行执行此操作。我相信这是一些容易,但我非常新的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

你是不是在每次迭代引用i个行。修复循环内的部分是这样的:

df$fr_translation[i] <- translate(df$word[i], 'en', 'fr') 
    df$fr_heading[i] <- translate(df$heading[i], 'en', 'fr') 
+0

谢谢史蒂文,知道这很简单。非常感谢 – miltonjbradley

+0

乐于帮助。如果此答案或任何其他答复解决了您的问题,请标记为已接受。 –

相关问题