R按索引对多个数据帧的列表求和(日期)

R按索引对多个数据帧的列表求和(日期),r,list,sum,dataframe,R,List,Sum,Dataframe,我有大约6000个数据帧,数据如下: over10 over20 over50 over100 2014-01-02 1 1 0 0 每个数据帧有数百行 我需要按索引(日期)对所有数据帧中的四列求和。结果将是每个日期一行,其中包含合计值。因此,在6000个数据帧之后,结果可能是: over10 over20 over50 over100 2014-01-02 3121 2551 1670

我有大约6000个数据帧,数据如下:

           over10 over20 over50 over100
2014-01-02      1      1      0       0
每个数据帧有数百行

我需要按索引(日期)对所有数据帧中的四列求和。结果将是每个日期一行,其中包含合计值。因此,在6000个数据帧之后,结果可能是:

           over10 over20 over50 over100
2014-01-02   3121   2551   1670     985
这将继续进行,每个日期一行


我可以轻松地将6000个数据帧放入一个列表中,也可以将rbind放入一个大数据帧中。我尝试过各种方法,但都没有达到目的。

使用@0提供的数据集

aggregate(all[,2:5], by=list(all$date), sum)


dplyr
方法是:

创建示例数据

set.seed(42)
all <- data.frame(date=sample(seq(as.Date("2000/1/1"), as.Date("2003/1/1"), by = "quarter"),
                              100,replace=TRUE),
                over10 = rbinom(100,50,0.5),
                over20 = rbinom(100,50,0.5),
                over50 = rbinom(100,50,0.5),
                over100 = rbinom(100,50,0.5))

group <- sample(1:5,100,replace=TRUE)
all_split <- split(all, group)
结果:

Source: local data frame [13 x 5]

         date over10 over20 over50 over100
1  2000-01-01    220    187    202     205
2  2000-04-01    175    164    173     159
3  2000-07-01    159    171    185     185
4  2000-10-01    168    176    154     182
5  2001-01-01    145    138    150     160

那么日期值是一个行名还是一个实际列呢?@latemail行名,这些都是天生的xtsI还应该提到数据帧的nrows并不都是相等的,它起作用了,我学习了dplyr的一些新功能。顺便说一句,我应该澄清我已经在使用foreach和.combine=“rbind”选项了,所以根本不需要rbind\u。
require(dplyr)

dat <- rbind_all(all_split) # This is a big data.frame with all data
dat %>%
  group_by(date) %>%
  summarise_each(funs(sum))
Source: local data frame [13 x 5]

         date over10 over20 over50 over100
1  2000-01-01    220    187    202     205
2  2000-04-01    175    164    173     159
3  2000-07-01    159    171    185     185
4  2000-10-01    168    176    154     182
5  2001-01-01    145    138    150     160