【发布时间】:2020-02-10 15:27:40
【问题描述】:
我正在尝试将两个函数结果合并为一列,并尝试在一列中获取结果。
我的代码
myfun <-function(x){
fit <-Arima(x, order = c(1,1,1), seasonal = list(order = c(0,1,0), period = 52),include.mean=TRUE,
include.constant = FALSE, method = 'CSS')
fit_a <- forecast(fit$fitted)
fit_a <- data.frame(fit_a$fitted)
colnames(fit_a)[1] <- "load"
fit_a$load <- as.data.frame(fit_a$load)
fit_b <- data.frame(forecast(fit,h=400))
fit_b <- data.frame(fit_b$Point.Forecast)
colnames(fit_b)[1] <- "load"
fit_b$load <- as.data.frame(fit_b$load)
return(rbind(fit_a,fit_b))
}
我得到了像 return(fit_a) 和 return(fit_b) 这样的值,但是在执行 rbind() 时我不能因为单独的时间序列数据。
尝试过:c(fit_a,fit_b) 显示了两个不同的 ts(这确认我们有输出并且只是失败了 rbind())。
谁能帮助我,如何在同一函数中提取拟合值和预测值。
提前致谢!
【问题讨论】:
-
将它们保存为列表中的不同元素并返回列表?
-
@RAB 你能解释清楚一点吗?我已经将 fit_a 和 fit_b 作为两个不同的元素,并尝试通过在最后一步加入来提取它们。
-
是的,所以
fit <- list(fit_a, fit_b)和return(fit)。那么fit[[1]]将是你的fit_a和fit[[2]]将是你的fit_b -
为未来的人添加了更多信息的答案。如果有帮助,请随时标记为答案
标签: r dataframe time-series plyr rbind