在使用auto.arima
函数时,将xreg
参数传递给do.call
函数的方式是不正确的。auto.arima
函数需要将xreg
参数作为一个单独的参数传递,而不是作为do.call
的参数列表。
以下是一个示例代码,展示了如何正确地使用auto.arima
函数与xreg
参数:
library(forecast)
# 创建一个时间序列
ts_data <- ts(c(1, 2, 3, 4, 5, 6))
# 创建外部变量
exog_data <- c(2, 4, 6, 8, 10, 12)
# 将时间序列和外部变量作为数据框组合
data <- data.frame(ts_data, exog_data)
# 将时间序列和外部变量分别作为输入
y <- data$ts_data
xreg <- data$exog_data
# 使用auto.arima函数拟合ARIMA模型,并将外部变量作为参数传递
model <- auto.arima(y, xreg = xreg)
# 打印模型结果
print(model)
在上述代码中,我们首先将时间序列和外部变量作为两个独立的对象创建,并将它们组合成一个数据框。
然后,我们通过将外部变量传递给xreg
参数,使用auto.arima
函数来拟合ARIMA模型。
最后,我们打印出拟合的模型结果。
请注意,上述代码仅仅是一个示例,实际情况中,您需要根据您的数据和需求进行相应的修改。