web-dev-qa-db-ja.com

ラグ変数の作成方法

変数pm10の遅延変数を作成し、次のコードを使用します。しかし、欲しいものが手に入りませんでした。どうすればpm10のラグを作成できますか?

df2$l1pm10 <- lag(df2$pm10, -1, na.pad = TRUE)
df2$l1pm102 <- lag(df2$pm10, 1)

dput(df2)
structure(list(var1 = 1:10, pm10 = c(26.956073733, NA, 32.838694951, 
39.9560737332, NA, 40.9560737332, 33.956073733, 28.956073733, 
32.348770798, NA), l1pm10 = structure(c(26.956073733, NA, 32.838694951, 
39.9560737332, NA, 40.9560737332, 33.956073733, 28.956073733, 
32.348770798, NA), .Tsp = c(2, 11, 1))), .Names = c("var1", "pm10", 
"l1pm10"), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", 
"9", "10"), class = "data.frame")
6
WangoR

ダミーの解決策は、ベクトルまたは列の「遅れた」バージョンを作成し(最初の位置にNAを追加)、列を一緒にバインドすることだと思います。

x<-1:10;    #Example vector

x_lagged <- c(NA, x[1:(length(x)-1)]); 

new_x <- cbind(x,x_lagged);
2
NicKor