2017-09-23 107 views
2

早上好,
我目前正在使用日常銷售的時間序列進行預測。
該數據集稱爲myts,此前已轉換爲time series對象。使用tsDyn進行預測 - 錯誤R

每當我運行下面的代碼,它給了我一個錯誤

require(tsDyn) 
x <- log(myts) 
mod.ar <- linear(x, m=2) 

Error: x must be a vector, not a ts object, do you want stats::lag() ?

最好的問候, 亞歷

回答

1

試試這個例子(注意,我開始與載體然後將其轉換爲時間序列對象)

require(tsDyn) 

set.seed(1234) 
tsdatav <- (seq(1:300)+rnorm(300,1000,10)) 
myts <- ts(tsdatav, frequency = 365, start = c(2017, 6)) 
plot(myts) 

x <- log(myts) 
mod.ar <- linear(x, m = 2) 
mod.ar 
1

Alessandro報告的問題可以由dplyrlag函數生成,該函數覆蓋statslag函數。
試試這個:

detach("package:dplyr", unload=TRUE) 
library(tsDyn) 
linear(log(lynx), m=2) 

這裏linear正常工作,並提供:

Non linear autoregressive model 

AR model 
Coefficients: 
    const  phi.1  phi.2 
2.4352150 1.3842377 -0.7477757 

現在試試這個:

detach("package:tsDyn", unload=TRUE) 
library(dplyr) 
library(tsDyn) 
linear(log(lynx), m=2) 

的代碼提供了錯誤信息:

Error: `x` must be a vector, not a ts object, do you want `stats::lag()`? 
+0

很棒的發現馬可波羅! – dmb