Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Forecast在R中创建数据框以用于Forecast_R_Forecast - Fatal编程技术网

从Forecast在R中创建数据框以用于Forecast

从Forecast在R中创建数据框以用于Forecast,r,forecast,R,Forecast,我需要你的帮助,在R中创建一个数据框,其中包含每个预测变量的单独列。该“新数据”将用于回归后的预测线 经典的在线示例如下所示: data=read.csv("some_path", header=TRUE) fit<- with(data, lm(y1 ~x1)) pred<-predict.lm(fit, newdata=data.frame("x1"=some_number)) data=read.csv(“某些路径”,标题=TRUE

我需要你的帮助,在R中创建一个数据框,其中包含每个预测变量的单独列。该“新数据”将用于回归后的预测线

经典的在线示例如下所示:

data=read.csv("some_path", header=TRUE)

fit<- with(data, lm(y1 ~x1))
pred<-predict.lm(fit, newdata=data.frame("x1"=some_number))

data=read.csv(“某些路径”,标题=TRUE)

fit我想下面的代码应该可以帮助您创建
newdata
data.frame

重新生成所需的库。 使用以下代码,我将创建一个具有5个时间序列的示例数据:
我希望我正确理解了这个问题。

非常感谢您的回复。我的问题是每月将原始数据集转换为ts。我使用您的方法设法在ts中进行转换,但在运行auto.arima后,我得到以下错误:
错误:分配的数据`forecast::forecast(forecast::auto.arima(dta[,I]),h=h)$mean`必须与现有数据兼容。x现有数据有276行。x分配的数据有12行。i仅回收大小为1的向量。运行`rlang::last_error()`查看错误发生的位置。
新建数据[,i]我们可以聊天吗?我有一些细节要问。非常感谢您的回复。@Marian当然可以。
fit_x1<- auto.arima(x1, stepwise = FALSE)

for_x1<-forecast(fit_x1, h=10)

...

fit_xn<- auto.arima(xn, stepwise = FALSE)

for_xn<-forecast(fit_xn, h=10)


fit<- lm(formula=log(y1)~log(x1)+log(x2)+...+log(xn), data=data)

summary(fit)
pred<- predict.lm(fit, newdata)

# library(dplyr)
# library(stats)
# library(forecast)
set.seed(123)

dta <- ts(dplyr::tibble(
  AA = arima.sim(list(order=c(1,0,0), ar=.5), n=100, mean = 12), 
  AB = arima.sim(list(order=c(1,0,0), ar=.5), n=100, mean = 12), 
  AC = arima.sim(list(order=c(1,0,0), ar=.5), n=100, mean = 11), 
  BA = arima.sim(list(order=c(1,0,0), ar=.5), n=100, mean = 10), 
  BB = arima.sim(list(order=c(1,0,0), ar=.5), n=100, mean = 14)
), start = c(2013, 1), frequency = 12)

head(dta)
tail(dta)
nseries <- ncol(dta)
h <- 12 # forecast horizon

newdata <- matrix(nrow = h, ncol = nseries) # empty newdata matrix

for (i in seq_len(nseries)) {
  
  newdata[,i] <- forecast::forecast(forecast::auto.arima(dta[,i]), h = h)$mean
}

colnames(newdata) <- colnames(dta)

head(newdata)