R聚合数据帧列表

时间:2016-11-12 21:06:03

标签: r list dataframe sum aggregate-functions

我有一个53个数据框的列表(purchase01到purchase53),按日期排序,有18个变量和不同的行数(试过,但是请不要在下面粘贴一个例子)。我希望聚合每个不同的数据帧由其重复的值“V9” - 因子 - 加上列“V2” - 数字。我还没有找到答案。

我只能使用一个数据帧 aggregate.data.frame(purchase00$V12, by = list(purchase00($V9),FUN = sum)并且它只能正常工作。

我尝试过llply, llply(.data = purchase, .fun = aggregate.data.frame, by= list(unique((V9),sum, .inform = TRUE)

但没有成功,似乎该函数不接收每个数据帧的by,也不接收函数sum。对我来说,mapply效果也不好。

1 个答案:

答案 0 :(得分:3)

## assuming your list is called list_of_df
require(dplyr)

summarized_list <- lapply(list_of_df,  function(x) {

x %>% group_by(V9) %>% summarize(sum(V2))

})

这将返回一个列表,其中包含您的购买清单中每个数据框的摘要。

如果您不想使用dplyr,可以使用base:

执行此操作
lapply(list_of_df, function(x) {aggregate(values ~ day_of_week, data = x, sum) })