如何在組中為 R 建立滯後變數?


滯後變數是變數型別,它包含我們要建立滯後變數的變數的先前的值,並且第一個值被忽略。因此,如果我們建立了一個滯後變數,該變數依賴於分組變數或因子變數,那麼每個組中將始終缺少一個值。

示例

考慮以下資料框

> set.seed(2)
> Factor<-rep(c("F1","F2","F3","F4"),each=5)
> Rate<-c(12,54,18,26,14,25,81,47,15,12,96,25,14,34,68,78,42,56,81,75)
> df<-data.frame(Factor,Rate)
> df
Factor Rate
1 F1 12
2 F1 54
3 F1 18
4 F1 26
5 F1 14
6 F2 25
7 F2 81
8 F2 47
9 F2 15
10 F2 12
11 F3 96
12 F3 25
13 F3 14
14 F3 34
15 F3 68
16 F4 78
17 F4 42
18 F4 56
19 F4 81
20 F4 75

為速率建立滯後變數,將因子變數視為組變數 −

> df$Lagged_Variable <- c(NA, df$Rate[-nrow(df)])
> df$Lagged_Variable[which(!duplicated(df$Factor))] <- NA
> df
Factor Rate Lagged_Variable
1 F1 12 NA
2 F1 54 12
3 F1 18 54
4 F1 26 18
5 F1 14 26
6 F2 25 NA
7 F2 81 25
8 F2 47 81
9 F2 15 47
10 F2 12 15
11 F3 96 NA
12 F3 25 96
13 F3 14 25
14 F3 34 14
15 F3 68 34
16 F4 78 NA
17 F4 42 78
18 F4 56 42
19 F4 81 56
20 F4 75 81

更新於:2020 年 8 月 12 日

393 次瀏覽

開啟您的事業

完成課程獲取認證

開始
廣告
© . All rights reserved.