リスト内のすべての「収入」の合計である1つの列「収入」を除いて、すべての列が同じであるデータフレームのリストから単一のデータフレームを生成します。データフレームのリストの列を合計する
ID Income
34 36 7360
26 37 0
23 38 0
15 39 9100
は私が合計を行うために)(減らす使用しようとしましたが、それは別の列を作成します。ここでは
は、データフレーム
mylist= structure(list(`1` = structure(list(ID = c(36L, 37L, 38L, 39L), Income = c(0, 0, 0, 9100)), .Names = c("ID", "Income"), row.names = c(1L, 2L, 3L, 4L), class = "data.frame"), `2` = structure(list(ID = c(36L, 37L, 38L, 39L), Income = c(0, 0, 0, 0)), .Names = c("ID", "Income"), row.names = c(1L, 2L, 3L, 4L), class = "data.frame"), `3` = structure(list(ID = c(36L, 37L, 38L, 39L), Income = c(7360, 0, 0, 0)), .Names = c("ID", "Income"), row.names = c(1L, 2L, 3L, 4L), class = "data.frame")))
> mylist
$`1`
ID Income
1 36 0
2 37 0
3 38 0
4 39 9100
$`2`
ID Income
1 36 0
2 37 0
3 38 0
4 39 0
$`3`
ID Income
1 36 7360
2 37 0
3 38 0
4 39 0
の私のリストは、これは私が何をしたいです私が避けたいのは、
Reduce(function(df1, df2) data.frame(df1[,], res=df1["Income"] + df2["Income"]),mylist)
両方のソリューションに感謝します。どのように動作するかを理解しようとしているだけです。 –
@AndroidBeginner最初のソリューションでは、単一のデータセットを作成するために 'ID'でマージしてから、2:ncol(r1)から列の 'rowSums'を実行します。 2番目の解決法では、 'Reduce(' + ''は 'mylist'の対応する値の要素ごとの合計を行います – akrun