私は32のデータフレームを持っているので、私はいくつかの他のデータフレームの列の合計を含む新しいデータフレームをすべてのデータフレームで取得する必要があります。新しいデータフレームcointaning別の列の合計R
は私がより明確にする2つのデータフレームとの例を書いてみましょう:私は取得したい何
df1 <- data.frame(1:5,2:6,3:7, 4:8)
colnames(df1) <- c("one", "two", "three", "four")
df2 <- data.frame(4:8, 5:9, 6:10, 7:11)
colnames(df2) <- c("one", "two", "three", "four")
は、列1、列1およびデータフレームの3の合計であるデータフレームdf1a
、あるdf1
、列2は同じで、変化しません。また、私は出力が最初に配置されているその列4を希望します。
私はこのコードを書くことができます知っている:
df1a <- data.frame(df1$four, df1$one+df1$three, df1$two)
colnames(df1a) <- c("four", "1+3", "two")
しかし、私の実際のデータに私は20列それぞれで作られた32のデータフレームを持っているので、すべてのデータフレームのために書くために私には非常に長いようです。
私はリストに入れて:
listdf <- list(df1, df2)
私は、いくつかのループまたは適用で何かを適用するために持っていると思うが、私はどのように理解することはできません。
私はdf1aにDF1から取得したいものの例:
df1
one two three four
1 1 2 3 4
2 2 3 4 5
3 3 4 5 6
4 4 5 6 7
5 5 6 7 8
df1a <- data.frame(df1$four, df1$one+df1$three, df1$two)
colnames(df1a) <- c("four", "1+3", "two")
df1a
four 1+3 two
1 4 4 2
2 5 6 3
3 6 8 4
4 7 10 5
5 8 12 6
のリストを扱う上で[このポスト](http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames)でグレゴールの答えを参照してください。 data.frames。そこに私の答えは、data.framesの名前付きリストを取得するための素敵なショートカットを提供します。 – lmo
@RonakShah、例を追加しました – Francesco