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

使用nardl包中nardl函数时出现下标越界错误求助

关于nardl函数运行示例代码报错的问题分析

问题场景

运行nardl包官方文档中的示例代码:

############################################
# Fit the nonlinear cointegrating autoregressive distributed lag model
############################################
# Load data
data(fod)
############################################
# example 1:auto selected lags (maxlags=TRUE)
############################################
reg<-nardl(food~inf,fod,ic="aic",maxlag = 4,graph = FALSE,case=3)
summary(reg)

执行后触发错误:Error in aa[[2]] : subscript out of bounds

可能原因及解决方向

  • 包版本与R版本兼容问题:这个报错大概率是nardl包的版本bug,或是和当前R版本存在兼容性冲突。部分旧版本的nardl包在滞后项选择的逻辑处理中存在索引越界的问题。
  • 参数传递冲突:示例代码注释标注了maxlags=TRUE,但实际参数写的是maxlag=4,虽参数名本身为maxlag(单数),但可尝试显式设置maxlags=TRUE替换maxlag=4,或调小滞后数(比如设为2)测试运行。
  • 数据维度不足:检查fod数据集的行数是否足够支撑设置的滞后数,若数据量过少,计算滞后项时易出现索引越界。可通过nrow(fod)查看数据行数,确保行数大于设置的maxlag值。

验证步骤

  1. 更新nardl包至最新版本:
install.packages("nardl")
  1. 调整参数后重新运行:
data(fod)
reg<-nardl(food~inf,fod,ic="aic",maxlags=TRUE,graph=FALSE,case=3)
summary(reg)
  1. 若仍报错,尝试降低滞后数:
reg<-nardl(food~inf,fod,ic="aic",maxlag=2,graph=FALSE,case=3)
summary(reg)

内容的提问来源于stack exchange,提问作者Jose Luis Iparraguirre D'Elia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:52:36