【发布时间】:2018-04-10 00:07:30
【问题描述】:
我试图对时间滞后为 1 的数字求和。即,我想通过添加特定组中天数仅相差一天的值的频率来总结行。我使用了滞后函数来获取差异,但不知道如何从这里开始。
df <- df %>%
group_by(group) %>%
mutate(diff = dt - lag(dt))
df[!is.na(df$diff) & df$diff > 1,]$diff <- NA
例如:
group dt freq diff
groupA 2016-03-21 1 NA
groupA 2016-03-22 1 1
groupA 2016-03-23 1 1
groupA 2016-03-26 2 NA
groupA 2016-03-28 1 NA
groupA 2016-03-29 3 1
groupA 2016-03-30 3 1
groupA 2016-03-31 5 1
groupB 2016-04-01 1 NA
groupB 2016-04-02 2 1
我需要把它分成:
group dt freq diff duration
groupA 2016-03-21 1 NA 3 (1 + 1 + 1)
groupA 2016-03-22 1 1
groupA 2016-03-23 1 1
groupA 2016-03-26 2 NA 2
groupA 2016-03-28 1 NA 12(1 + 3 + 3 + 5)
groupA 2016-03-29 3 1
groupA 2016-03-30 3 1
groupA 2016-03-31 5 1
groupB 2016-04-01 1 NA 3(1 + 2)
groupB 2016-04-02 2 1
也提到了this,但累积不起作用,因为我不考虑跳跃超过一天。循环自定义函数是唯一的方法吗?
【问题讨论】: