遍历数据框的行并根据另一列更改一列的值

Iterating through the rows a dataframe and changing the value of one column based on another

我在这里似乎找不到答案。我有一个包含 800k 行的数据框。我想遍历每一行,将一列中的字符串值传递给 Google 翻译 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')
}

您没有在每次迭代中引用第 i 行。把循环里面的部分修改成这样:

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