【发布时间】:2016-12-30 18:00:22
【问题描述】:
我有一个小问题。我正在研究一个数据框。如下:
df1
Duration Intensity
NA NA
10 0.1016
10 0.0254
NA NA
NA NA
10 0.0508
10 0.0508
10 0.1016
NA NA
10 0.0254
我想计算 10 分钟“持续时间”的每个事件的“强度”累积总和。或者换句话说,我想总结“强度”列中每个“NA”值之间的“强度”值。输出应如下所示:
df2
Duration Intensity Intensity_sum
NA NA
10 0.1016
10 0.0254 0.127
NA NA
NA NA
10 0.0508
10 0.0508
10 0.1016 0.2032
NA NA
10 0.0254 0.0254
我尝试了以下代码:
library(dplyr)
df2 <- as.data.frame(mutate(df1,Intensity_sum = with(df1,Duration==10,cumsum(Intensity))))
但我只收到 TRUE 或 FALSE 结果,而不是值。
【问题讨论】:
-
@nrussell 有点像,除了 OP 必须首先构建组 ID,并且还必须“合并”聚合总和到每个组的最终观察。
-
@nrussell 谢谢,但我的问题和那个不完全一样