【发布时间】:2021-04-21 17:25:24
【问题描述】:
我想在 R 中滞后数据框的多个特定列。
让我们举这个通用的例子。假设我已经定义了我需要滞后的数据框的哪些列:
Lag <- c(0, 1, 0, 1)
Lag.Index <- is.element(Lag, 1)
df <- data.frame(x1 = 1:8, x2 = 1:8, x3 = 1:8, x4 = 1:8)
我的初始数据框:
x1 x2 x3 x4
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
我想计算以下数据框:
x1 x2 x3 x4
1 1 NA 1 NA
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
我会知道如何只为一个滞后列执行此操作,如 here 所示,但无法找到一种方法以优雅的方式为多个滞后列执行此操作。非常感谢任何帮助。
【问题讨论】: