【发布时间】:2021-10-04 12:04:40
【问题描述】:
我有一个如下所示的数据框:
T1 T2 T3
1 4.693798 3.339923 1.960526
2 5.108974 4.041096 3.227176
3 4.323944 3.936614 3.755302
4 4.516129 3.859621 2.921308
5 4.210526 3.716563 3.601480
6 5.143293 4.007018 3.778689
然后我将其转换为时间序列数据结构并验证它是时间序列数据并且显示正确,如下所示:
propTS <- t(as.matrix(propDf[2:4]))
propTS <- as.ts(propTS)
is.ts(propTS)
time(propTS)
它输出:
[,1] [,2] [,3] [,4] [,5] [,6]
1 4.693798 5.108974 4.323944 4.516129 4.210526 5.143293
2 3.339923 4.041096 3.936614 3.859621 3.716563 4.007018
3 1.960526 3.227176 3.755302 2.921308 3.601480 3.778689
我觉得不错。但是当我执行下面的 acf 函数时,我收到错误,“acf 中的错误(propTS,na.action = na.pass):'lag.max' 必须至少为 0”:
acf(propTS, na.action=na.pass)
同样,当我尝试执行以下行时,我收到以下错误,“arima(propTS, order = c(1, 0, 0)) 中的错误:仅针对单变量时间序列实现”:
AR <- arima(propTS, order = c(1,0,0))
我检查了在线示例,我的数据结构似乎与人们用作此函数输入的其他时间序列数据一样。我尝试了各种其他解决方案来进行故障排除,但到目前为止还没有遇到解决方案。谁能确定我的输入可能有什么问题以及为什么将其解释为 not 单变量?它对我来说似乎是单变量的。我有每个人的列和数据的三个时间点。似乎是单变量的。
值得注意的是,即使生成一个 10x50 的随机数矩阵,然后通过与上述相同的过程转换为时间序列,此错误仍然存在。
propTS<-matrix(rnorm(100),nrow=10,ncol=50)
【问题讨论】:
标签: r time-series arima autoregressive-models