私のデータフレームです:更新ペア
列col_1
で
col_1 <- c(1,2,NA,4,5)
temp_col_1 <-c(12,2,2,3,4)
col_2 <- c(1,23,423,NA,23)
temp_col_2 <-c(1,2,23,4,5)
df_test<-data.frame(col_1,temp_col_1,col_2, temp_col_2)
私はtemp_col_1
から対応する値とNA
を交換し、col_2
とtemp_col_2
私は手動でifelse
ステートメントでそれを行う方法を知っています、問題は、私はパターンcol_name
とtemp_col_name
とトンの列を持っていると私はそれをどのように自動化することができますか。
df_test[,paste('temp_','col_1
]のような別のものを試しましたが、何も機能しませんでした。 提案がありますか?
私はこれらの手順に従っていても、 'assign()'を強制的に ''に適用しました。'lapply()'の内部で行われた変更を反映するために、 'Globalenv'を使用します。あなたの '<< - 'でも同じことが起こりました。私たちよりも良い方法がありますか? –
これは、実際にはforループが最適なオプションであるという壮大なケースだと思います。私は昨日これについても興味があり、将来の参考になるよう要点をまとめました。 https://gist.github.com/nutterb/f05cc0e725ed389292116eb661f68bb5誰かが 'for'ループの速度を上回ることができるかどうかを確認するために、より大きなデータセットで新しい質問を開くことを考えています。 – Benjamin
素晴らしい!この場合、 'list2env()'助けをすることができますか? –