2017-06-18 117 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

樂於幫助。如果此答案或任何其他答覆解決了您的問題,請標記爲已接受。 –

相關問題