【问题标题】:Using R, Hyndman forecast package, and quantmod使用 R、Hyndman 预测包和 quantmod
【发布时间】:2012-05-22 00:26:11
【问题描述】:

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

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

它似乎部分工作,但我收到一条警告消息。此外,该图不再显示日期。这里可能有一个简单的解决方案,但我没有看到它。

警告信息: 在 if (class(y) == "data.frame" | class(y) == "list" | class(y) == 中: 条件的长度 > 1,并且只使用第一个元素

【问题讨论】:

    标签: r quantmod


    【解决方案1】:

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

    这样的东西可能更健壮一些:

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

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

    【讨论】:

    • 但情节不再显示日期。如果我绘制“y”,我会在 x 轴上看到日期。如果我绘制预测(y),我只会得到索引号。
    • forecast(y) 不返回 xts 对象。您需要从 forecast(y) 的输出创建一个 xts 对象或直接调用 plot.xts
    猜你喜欢
    • 2014-03-21
    • 2014-04-03
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    相关资源
    最近更新 更多