我正在为具有 79,000 个观察值的时间序列生成大量滞后变量(实际上是 365 个)。
OrdersData
我目前在名为prospectdrop
s的数据框中有一列。我首先将其转换为zoo
格式以使用该lag()
功能:
prospectdrops<-zoo(OrdersData$prospectdrop)
然后我执行for循环:
for (i in 1:365){
prospectdrops[paste("lag",i,"day",sep="")] <- lag(prospectdrops,i*24,na.pad=TRUE)
}
然后我被迫再次循环使用 cbind 绑定它们为 data.frame() 做准备
for (i in 1:365){
cbind(prospectdrops, prospectdrops[paste("lag",i,"day",sep="")])
}
可以理解的是,这对于 R 中的 for 循环函数来说是永久的。我知道“应用”可能是答案,但在函数的描述中看不到直接的比较器。有任何想法吗?