R 数据帧聚合列表

Gui*_*ler 2 r sum list aggregate-functions dataframe

我确实有 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 对我来说效果不佳。

vag*_*ond 6

## 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))

})
Run Code Online (Sandbox Code Playgroud)

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

如果您不想使用dplyr,可以使用 base 来执行此操作:

lapply(list_of_df, function(x) {aggregate(values ~ day_of_week, data = x, sum) })
Run Code Online (Sandbox Code Playgroud)