滞后在R中的多个时间段
问题描述:
我试图延迟DataFrame中的一些变量(并且明确避免使用时间序列),并得到一个有趣的结果。准确地说,我试图将一些滞后信息组合到一个对象中,即称为“订单”的列的1和2周期延迟。下面是我在做什么:滞后在R中的多个时间段
time=18:29
orders=c(76,77,78,79,72,81,79,85,93,81,72,60)
data=data.frame(time=time,orders=orders)
lagage<-lag(data$orders, k=-1:-2)
Error in `tsp<-`(`*tmp*`, value = p - (k/p[3L]) * c(1, 1, 0)) :
invalid time series parameters specified
In addition: Warning messages:
1: In if (k != round(k)) { :
the condition has length > 1 and only the first element will be used
2: In (k/p[3L]) * c(1, 1, 0) :
longer object length is not a multiple of shorter object length
我很明白为什么我得到这个错误,因为我已经没有问题,使用滞后()函数之前多次混淆。也许这是我的一个大脑放屁,但我想和你们核对一下,看看发生了什么。
编辑
应该更清楚这里 - 我期待填补受影响与来港滞后指标。我上面的我的作品表现出滞后强迫数据帧到动物园对象,像这样:
data<-as.zoo(data)
lagage<-lag(data$orders, k=-1:-3)
lag-1 lag-2 lag-3
2 76 NA NA
3 77 76 NA
4 78 77 76
5 79 78 77
6 72 79 78
7 81 72 79
8 79 81 72
9 85 79 81
10 93 85 79
11 81 93 85
12 72 81 93
当然,我可以重新强制新的数据备份到数据帧,但要避免这些步骤。
据我所知,'lag'的'k'参数只接受一个整数。 – joran
你应该意识到'lag'会返回一个时间序列对象,所以如果你明确地试图避免它(不确定原因?),那可能不是最好的选择。另外,你确定你想'K'是否定的吗? –
@RicardoSaporta:我确定他们希望'k'是负面的。 '滞后'使用非常规惯例,即k值的正值滞后于价值。 –