如何在 R 数据框中创建滞后列?

要在 R 数据框中创建滞后列,我们可以使用转换函数。

例如,如果我们有一个名为 C 的数据框,并且我们想基于 C 在 df 中创建一个滞后列,那么我们可以使用下面给出的命令 -

transform(df,Lag_C=c(C[-1],NA))

示例 1

以下代码段创建了一个示例数据框 -

x<-rnorm(20)

df1<-data.frame(x)

df1

创建以下数据框 -

       x

1  -0.58699645

2  -1.74183976

3  -0.80306205

4  -0.80224690

5   0.01596175

6  -0.36427931

7  -0.33449380

8   1.62647476

9  -1.71252529

10  0.02802091

11  1.27800967

12  0.41098805

13 -1.46857510

14 -0.76261265

15  0.16337484

16 -0.75678517

17 -0.26163702

18  0.75312452

19  0.40915108

20 -2.47741638

要创建 x 的滞后列,请将以下代码添加到上述代码段中 -

x<-rnorm(20)

df1<-data.frame(x)

transform(df1,Lagged_x=c(x[-1],NA))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

       x         Lagged_x

1  -0.58699645  -1.74183976

2  -1.74183976  -0.80306205

3  -0.80306205  -0.80224690

4  -0.80224690   0.01596175

5   0.01596175  -0.36427931

6  -0.36427931  -0.33449380

7  -0.33449380   1.62647476

8   1.62647476  -1.71252529

9  -1.71252529   0.02802091

10  0.02802091   1.27800967

11  1.27800967   0.41098805

12  0.41098805  -1.46857510

13 -1.46857510  -0.76261265

14 -0.76261265   0.16337484

15  0.16337484  -0.75678517

16 -0.75678517  -0.26163702

17 -0.26163702   0.75312452

18  0.75312452   0.40915108

19  0.40915108  -2.47741638

20 -2.47741638   NA

示例 2

以下代码段创建了一个示例数据框 -

y<-rpois(20,6)

df2<-data.frame(y)

df2

创建以下数据框 -

    y

1   8

2   4

3   4

4   6

5   5

6  10

7   6

8   2

9   8

10  3

11  6

12  6

13 12

14  9

15  1

16  5

17 13

18  5

19  5

20  1

要创建 y 的滞后列,请将以下代码添加到上述代码段中 -

y<-rpois(20,6)

df2<-data.frame(y)

transform(df2,Lagged_y=c(y[-1],NA))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

    y Lagged_y

1   8  4

2   4  4

3   4  6

4   6  5

5   5 10

6  10  6

7   6  2

8   2  8

9   8  3

10  3  6

11  6  6

12  6 12

13 12  9

14  9  1

15  1  5

16  5 13

17 13  5

18  5  5

19  5  1

20  1 NA

以上是 如何在 R 数据框中创建滞后列? 的全部内容, 来源链接: utcz.com/z/345715.html

回到顶部