data.table
現在、次の方法でパネルデータを遅らせています。
require(data.table)
x <- data.table(id=1:10, t=rep(1:10, each=10), v=1:100)
setkey(x, id, t) #so that things are in increasing order
x[,lag_v:=c(NA, v[1:(length(v)-1)]),by=id]
これを行うためのより良い方法があるかどうか疑問に思っていますか? クロス結合についてオンラインで何かを見つけましたが、これは理にかなっています。ただし、クロス結合はdata.table
大規模なデータセットに対してかなり大きなデータを生成するため、使用するのをためらっています。