【发布时间】:2021-02-12 01:20:59
【问题描述】:
这可能是一个基本问题,但是如何围绕 data.table 中的特定值对时间序列进行子集化?我有数据:
DT <- data.table(time = seq(1, 14), b = c(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 ,0, 0))
现在我想在b 中查找所有带有 1 的行,并在找到的观察之前和之后保留,比如说 2 行。最好有一个灵活的窗口,您可以在其中定义检测到的观察前后所需的时间窗口。结果应如下所示:
RES <- data.table(time = c(2, 3, 4, 5, 6, 10, 11, 12, 13, 14), b = c(0, 0, 1, 0, 0, 0, 0, 1, 0, 0))
【问题讨论】:
标签: r time-series data.table subset