【发布时间】:2020-09-25 20:51:19
【问题描述】:
我有一系列的治疗,每天一次(二进制),比如说:
trt <- c(0, 0, 1, 0, 0, 0, 1, 0, 0)
我想创建一个向量,days_since,它:
- 在第一次治疗之前是 NA。
- 是 0,
trt是 1 - 计算自上次治疗以来的天数
所以,days_since 的输出应该是:
days_since <- c(NA, NA, 0, 1, 2, 3, 0, 1, 2)
我将如何在 R 中做到这一点?要获得days_since,我基本上需要滞后一个元素并加1,但每次原始向量(trt)为1时都会重置。如果这在没有for循环的情况下可行,那将是理想的,但不是绝对必要。
【问题讨论】: