【发布时间】:2017-12-06 01:57:42
【问题描述】:
我是 data.table 的初学者。谁能向我解释为什么我不能用shift() 得到预期的结果? (我用“领先”或“滞后”得到相同的结果)
set.seed(123)
x <- data.table(a = sample(1:10,10,replace = F))
x <- x[order(a)][, a1 := shift(a,1,"lead")]
x
a a1
1: 1 NA
2: 2 1
3: 3 2
4: 4 3
5: 5 4
6: 6 5
7: 7 6
8: 8 7
9: 9 8
10: 10 9
这是我期待的结果:
data.table(a = 1:10, a1 = c(2:10,NA))
a a1
1: 1 2
2: 2 3
3: 3 4
4: 4 5
5: 5 6
6: 6 7
7: 7 8
8: 8 9
9: 9 10
10: 10 NA
【问题讨论】:
标签: r data.table