这很简单,但无论出于什么原因,我都有困难.假设我有:
data <- data.frame (n1 = c(14,9,7,2, 23,21,10,8),
n2 = c(65, 65, 65, 65, 78, 78, 78, 78),
n3=c(51, NA, NA, NA, 55, NA, NA, NA),
want=c(51, 37, 28, 21, 55, 32, 11, 1 ),
group=c(1,1,1,1,2,2,2,2 ))
我有n1,n2和n3,其中我有第一个n3值(区分b/w n1和n2).我想做一个'want'变量,减go 下一个值上方的滞后行.所以对于下面的第2行,它应该是51-14=37,然后是37-9=28,以此类推.
n1 n2 n3 want group
1 14 65 51 51 1
2 9 65 NA 37 1
3 7 65 NA 28 1
4 2 65 NA 21 1
5 23 78 55 55 2
6 21 78 NA 32 2
7 10 78 NA 11 2
8 8 78 NA 1 2
有什么 idea 吗?谢谢