如何在 R 資料框中建立滯後列?
要在一個 R 資料框中建立滯後列,我們可以使用 `transform` 函式。
例如,如果我們有一個名為 `df` 的資料框,其中包含一個名為 `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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP