You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R使用dowjones数据集调用accuracy函数报非数值参数错误原因

报错原因解析

核心问题是你调用forecast::accuracy()函数时参数传入顺序颠倒,该函数的标准调用规则为:

  • 第一个参数:rwf()/snaive()等预测函数返回的forecast类对象
  • 第二个参数:测试集的实际观测时间序列

你在dowjones的代码里写的是accuracy(dj60.od, dj60.rwf.drift),把测试集dj60.od放在了第一个参数位,预测对象放在了第二个参数位,不符合函数的参数要求。而visnights的示例代码里accuracy(snaive_vn_Melbourne_train1, vn_Melbourne_test1)的参数顺序是正确的,所以可以正常运行。

报错逻辑说明

当你把普通时间序列对象传入accuracy()的第一个参数位时,函数内部会按照处理forecast类对象的逻辑,尝试提取该对象内的预测值、残差等特定字段,提取结果不符合数值向量的预期,在做误差计算的减法运算时,就会抛出non-numeric argument to binary operator的错误。

修复方案

将dowjones代码中的accuracy调用行修改为如下内容即可正常运行:

accuracy(dj60.rwf.drift, dj60.od)

内容的提问来源于stack exchange,提问作者Englishman Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:09:03