【发布时间】:2018-11-27 03:17:24
【问题描述】:
我有一个 data.frames 列表,每个包含 3 个变量:日期、值、键。
我想按关键因素对每个数据帧进行分组,并计算逐行平均值(即:按日期)。
这是一个玩具示例:
set.seed(123)
dates <- seq(from = as.Date("2018-06-18"), to = as.Date("2018-06-22"), length.out = 5)
fake_list <- list(d1 = data.frame(date = dates, value = rnorm(5), key = "aaa"),
d2 = data.frame(date = dates, value = rnorm(5), key = "bbb"),
d3 = data.frame(date = dates, value = rnorm(5), key = "aaa"),
d4 = data.frame(date = dates, value = rnorm(5), key = "bbb"))
结果应该是这样的:
fake_result <- list(d_aaa = data.frame(date = dates, mean_value = c(0.3318031, 0.06481816, 0.9797399, 0.09059554, -0.2132767)),
d_bbb = data.frame(date = dates, mean_value = c(1.750989, 0.4793833, -1.615839, 0.0072515, -0.4592267)))
基本上我需要按日期获取平均值,首先按关键因素聚合。
希望这足够清楚,在此先感谢。
此外,日期在列表中的长度可能不同(具有不同 nrows() 的数据帧),这给问题带来了另一个挑战..
【问题讨论】:
标签: r list dataframe dplyr summarize