【发布时间】:2021-03-03 11:41:02
【问题描述】:
我有一个以不同时间间隔进行测量的数据框:
df <- data.frame(
A_aoi = c("C", "C", "C", "B"),
starttime_ms = c(49, 1981, 6847, 7180),
endtime_ms = c(1981, 6115, 7048, 10080)
)
有时间隔是完全连续的,即下一次测量的starttime_ms是上一次测量的endtime_ms。然而,更常见的是,间隔之间存在间隙。只要有这样的差距,我就需要将行汇集到df;该行应说明该间隙何时开始以及何时结束。到目前为止,我最接近解决方案的是检测和测量间隙的持续时间:
library(dplyr)
df$gap <- ifelse(lag(df$starttime_ms,1) == df$endtime_ms,
NA,
lead(df$starttime_ms,1) - df$endtime_ms)
但这距离期望的输出还很远:
A_aoi starttime_ms endtime_ms
1 C 49 1981
2 C 1981 6115
3 NA 6115 6847
4 C 6847 7048
5 NA 7048 7180
6 B 7180 10080
【问题讨论】: