很可能会暴露我是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) 我想使用一个长数字向量来创建一个矩阵,其中每列是原始向量的连续偏移(滞后或超前).如果n是最大偏移量,则矩阵将具有尺寸[length(vector), n * 2 + 1](因为我们希望在两个方向上偏移,并且包括0偏移,即原始矢量).
为了说明,请考虑以下向量:
test <- c(2, 8, 1, 10, 7, 5, 9, 3, 4, 6)
[1] 2 8 1 10 7 5 9 3 4 6
Run Code Online (Sandbox Code Playgroud)
现在我们创建价值偏移,让我们说n == 3:
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] NA NA NA 2 8 1 10
[2,] NA NA 2 8 1 10 7
[3,] NA 2 8 1 10 7 5
[4,] 2 8 1 10 7 5 …Run Code Online (Sandbox Code Playgroud) 我有一个像下面这样的data.frame
Values
1 16.50
2 16.53
3 16.48
4 16.38
5 16.16
6 16.10
7 16.21
8 16.50
Run Code Online (Sandbox Code Playgroud)
我需要创建一个新的数据框,对于每个值,包含同一行中的前2条记录,例如:
line #1: 16.50, 16.53, 16.48
line #2: 16.53, 16.48, 16.38
Run Code Online (Sandbox Code Playgroud)
您对如何实现结果有任何建议吗?
先感谢您.