【发布时间】:2021-04-21 18:14:10
【问题描述】:
我有类似的数据:
data <- data.frame (date=seq.Date(as.Date("2021-03-21"),as.Date("2021-04-21"),"day"),
rad= sample(1:10,32, replace = T))
> head(data)
date rad
1 2021-03-21 1
2 2021-03-22 5
3 2021-03-23 1
4 2021-03-24 9
5 2021-03-25 10
6 2021-03-26 4
...
我目前正在学习扭曲和操作大型数据集,但偶然发现我的 R 知识/谷歌搜索技能不再有帮助。
我想学习两件事:
-
如何为某个时期的变量赋值。例如,我想在 2021-04-01 和 2021-04-05 之间的时间段内为 rad 列中的所有元素赋予 42 的值。
-
更重要的是(与 1. 无关)我想创建一个代码:
- 根据“rad”变量创建一个新列
- 计算某个时间段(例如 2021-04-01 - 2021-04-05)“rad”的累积和
- 然后取 cumsum 的最后一个值(累计求和周期的总和)并分配给某个时间段(例如 2021-04-06 - 2021-04-15)
- 对于未应用函数的其余日期,新变量与“rad”变量具有相同的值
如果您需要更好的解释,请告诉我。我根本不知道如何向您展示所需的输出,因为如果我知道,那么我就不会在这里问了。提前谢谢你
最好, 佐林
【问题讨论】: