早上好,
我目前正在使用日常销售的时间序列来进行预测
名为myts
的数据集以前已转换为time series
对象。
每当我运行以下代码时,它都会给我一个错误:
require(tsDyn)
x <- log(myts)
mod.ar <- linear(x, m=2)
错误:
x
必须是矢量,而不是ts对象,你想要吗?stats::lag()
?
祝你好运, 亚历
答案 0 :(得分:2)
Alessandro报告的问题可以由func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
if let services = peripheral.services as [CBService]!{
for service in services{
peripheral.discoverCharacteristics(nil, for: service)
}
}
print("==>",peripheral.services!)
}
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
for newChar: CBCharacteristic in service.characteristics!{
print(newChar)
}
}
的{{1}}函数生成,该函数会覆盖lag
的{{1}}函数。
试试这个:
dplyr
这里lag
正确地给出了:
stats
现在,试试这个:
detach("package:dplyr", unload=TRUE)
library(tsDyn)
linear(log(lynx), m=2)
代码提供错误消息:
linear
答案 1 :(得分: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
答案 2 :(得分:0)
是的,此问题是由dplyr
拥有自己的lag
版本引起的,该版本覆盖了通常的滞后函数,以及软件包tseriesChaos
的方式错误(其中{ {1}}取决于import stas :: lag。修复已发送并获得批准,但尚未提交给CRAN:
https://github.com/antoniofabio/tseriesChaos/commit/8abcc5a2d6d65588cdcec5527d4e5cb96eeccaec
与此同时,您可以简单地将tsDyn
覆盖回来:
lag
这现在应该可以工作:
lag <- stats::lag
如果您确实想要mod.ar <- linear(lynx, m=2)
的版本,请使用dplyr
`