很可能会暴露我是R的新手,但在SPSS中,运行滞后非常容易.显然这是用户错误,但我缺少什么?
x <- sample(c(1:9), 10, replace = T)
y <- lag(x, 1)
ds <- cbind(x, y)
ds
Run Code Online (Sandbox Code Playgroud)
结果是:
x y
[1,] 4 4
[2,] 6 6
[3,] 3 3
[4,] 4 4
[5,] 3 3
[6,] 5 5
[7,] 8 8
[8,] 9 9
[9,] 3 3
[10,] 7 7
Run Code Online (Sandbox Code Playgroud)
我想我会看到:
x y
[1,] 4
[2,] 6 4
[3,] 3 6
[4,] 4 3
[5,] 3 4
[6,] 5 3
[7,] 8 5
[8,] 9 8
[9,] 3 9
[10,] …
Run Code Online (Sandbox Code Playgroud) 我有以下数据帧:
a a a b c c d e a a b b b e e d d
Run Code Online (Sandbox Code Playgroud)
所需的结果应该是
a b c d e a b e d
Run Code Online (Sandbox Code Playgroud)
这意味着没有两个连续的行应该具有相同的值.如何在不使用循环的情况下完成.
由于我的数据集非常庞大,因此循环需要花费大量时间来执行.
数据帧结构如下所示
a 1
a 2
a 3
b 2
c 4
c 1
d 3
e 9
a 4
a 8
b 10
b 199
e 2
e 5
d 4
d 10
Run Code Online (Sandbox Code Playgroud)
结果:
a 1
b 2
c 4
d 3
e 9
a 4
b 10 …
Run Code Online (Sandbox Code Playgroud)