使用 R、Hyndman 预测包和 quantmod

3

我不确定我在这里做错了什么。 我在R中运行以下代码:

require(quantmod)
require(forecast)
getSymbols('FAGIX', from='2001-01-06', to=Sys.Date())
y <-Ad(FAGIX)
plot(forecast(y))

看起来部分工作正常,但我收到了一个警告信息。此外,图表不再显示日期。这里可能有一个简单的解决方案,但我没有看到它。

警告信息: 如果(class(y)==“ data.frame”| class(y)==“ list”| class(y)==时, 条件长度> 1,只有第一个元素将被使用

1个回答

3

警告是因为xts对象的类别是一个由两个元素组成的字符向量(c("xts","zoo")),而最终被调用的ets函数隐式地假定传递给它的对象只有单一元素类别。

像这样的内容可能更加稳健:

any(class(y) %in% c("data.frame","list","matrix","mts"))

无论如何,在这种情况下您可以安全地忽略警告,因为测试是检查对象是否为单变量时间序列,而在您的示例中它是。


但是图表不再显示日期。如果我绘制“y”,我可以在x轴上看到日期。如果我绘制forecast(y),我只能得到索引号。 - user1408304
1
forecast(y) 不会返回一个xts对象。你需要从forecast(y)的输出创建一个xts对象或直接调用plot.xts - Joshua Ulrich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接