複数のデータフレームに新しい列を追加しようとしていて、元のデータフレームを新しいデータフレームに置き換えようとしています。新しいデータフレームを作成する方法は次のとおりです。リストを分割して個別にオブジェクトを保存する方法は?
df1 <- data.frame(X1=c(1,2,3),X2=c(1,2,3))
df2 <- data.frame(X1=c(4,5,6),X2=c(4,5,6))
groups <- list(df1,df2)
groups <- lapply(groups,function(x) cbind(x,X3=x[,1]+x[,2]))
groups
[[1]]
X1 X2 X3
1 1 1 2
2 2 2 4
3 3 3 6
[[2]]
X1 X2 X3
1 4 4 8
2 5 5 10
3 6 6 12
新しいデータフレームの作成方法に満足しています。私が悩んでいるのは、私のgroups
リストを分割してから、リスト要素を元のデータフレームに戻して保存することです。
所望の出力
基本的に、私はdf1,df2 <- groups[[1]],groups[[2]]
のような何かをしたいが、それは有効でない構文上はもちろんです。私は2つ以上のデータフレームを持っています。なぜなら、単純にN行のコードを入力するよりも、よりプログラム的なアプローチを望んでいるからです。
リスト内で同じ構造のdata.framesを保持することは、通常、 'lapply'や他のツールを使って作業することができるので、Rではかなり良いアイデアです。便利なヒントについては、[この質問](http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames)のgregorの回答を参照してください。 'names(groups)< - c(" df1 "、" df2 ")'のように、アクセスを容易にするためにリスト項目に名前を追加することもできます。 – lmo
ありがとう、それは非常に有益なスレッドです。私はそのアプローチを実装しようとします。誰かがまだ気にしていれば私の元の質問についてはまだ不思議です。 – ZachTurn