遍历行数据框,并根据另一列更改一列的值
问题描述:
我似乎无法在此处找到答案。我有一个有800k行的数据框。我想迭代每一行,将一列中字符串的值传递给Google Translate API,然后将该翻译添加到该行中的另一列。当我这样做时,它只给出整个数据帧第一行的值(df$word
和df$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')
}
答
你是不是在每次迭代引用i
个行。修复循环内的部分是这样的:
df$fr_translation[i] <- translate(df$word[i], 'en', 'fr')
df$fr_heading[i] <- translate(df$heading[i], 'en', 'fr')
谢谢史蒂文,知道这很简单。非常感谢 – miltonjbradley
乐于帮助。如果此答案或任何其他答复解决了您的问题,请标记为已接受。 –