【发布时间】:2017-07-07 22:08:43
【问题描述】:
我需要帮助来获取变量 E、N 和 Z 的平均值,每个 ID 相差 7 天。
数据框为 290512 x 5,head 如下所示:
ID Date E N Z
1 2012-03-16 676620.5 4090699 26.827
1 2012-03-16 676620.5 4090699 26.828
1 2012-03-16 676620.5 4090699 26.827
1 2012-03-16 676620.5 4090699 26.828
1 2012-03-16 676620.5 4090699 26.828
1 2012-03-16 676620.5 4090699 26.828
声明:
-
ID <- 1:21; - 日期从 2012 年 3 月 16 日到 2016 年 12 月 31 日,没有连续性(没有 NA);
- 名词。 obs 的 E = N = Z;
- 每个点的#obs 可能不同。
例如,如果我在 ID = 5 时得到 E,我也会在这个观测中得到 N 和 Z,但同时我无法得到 ID = 12 的 obs。这些数据来自土壤变形和土壤质量解决了一些全站仪目标。
到目前为止我的解决方案是
df_dm <- df %>%
group_by(ID, Date) %>%
summarise(E_dm = mean(E),
N_dm = mean(N),
Z_dm = mean(Z))
得到每日的手段,然后,
m <- 7
df_wm <- sapply(df_dm, function(x) rollapply( x, width = m, by = m, align = "left", FUN = mean))
它来自移动平均问题的答案。
【问题讨论】:
标签: r dataframe multiple-columns moving-average