r - 将 ARIMA 预测结果导出到 excel 文件中
问题描述
我需要将 arima 预测结果存储到 Excel 文件中,文件应包含第一列作为帐户,该帐户来自不同的变量和该特定帐户号的预测数据框。以下是我的代码:
df <- read.csv("dataset.csv")
library (tseries)
library (forecast)
loopvec <- c(unique(df$account_number))
for (loopitem in loopvec){
df2 <- subset(df, account_number==loopitem)
x = ts(df2$amount, start = c(2015,1), end = c(2020,12), frequency =
12)
arima1 = auto.arima(x)
forecast1 = forecast(arima1,h = 1)
write.table(forecast1, file = "Forecast_Results.csv", col.names=NA,
append = T)
write.table(loopitem, file = "accountnumbers.csv", col.names=NA, append =
T)
}
我想将这些结果写入一个 excel 文件,如下所示:
`Account# Month Point Forecast Lo.80 Hi.80 Lo.95 Hi.95
A July 2019 100 80 83 102 114
A 201902 120 95 102 127 138
A 201903 135 110 117 142 158
B 201901 0 0 0 1 4.23
B 201902 0 0 0 1 3.75
B 201903 20 17 18 22 25
C 201901 0 0 0 0.06 2
C 201902 1700 1515 1585 1787 1920
C 201903 1400
目前的csv结果是:
结果.csv:
"Point.Forecast" "Lo.80" "Hi.80" "Lo.95" "Hi.95"
Jul 2019 -7019257.05555555 -21898155.8001267 7859641.6890156
-29774569.0172597 15736054.9061486
"Point.Forecast" "Lo.80" "Hi.80" "Lo.95" "Hi.95"
Jul 2019 -188594598.720274 -291947989.598493 -85241207.8420547
-346659969.827926 -30529227.6126215
帐号.csv
"x"
1 A
"x"
1 B
"x"
1 C
解决方案
在这里,当您循环 acc no 时,您每次都将每个预测点存储在 csv 文件中。如果你有很多数据,这将需要很多时间。取而代之的是一个临时数据框并在那里存储没有预测的数据框,并且当您的循环完成时将该数据框存储到 csv 文件中。
完成上述更改后,借助“剪贴板”功能,您可以直接复制您的 R 数据框并粘贴到 Excel 中。
write.table(RDATAFRAME, "clipboard", sep="\t", row.names=FALSE, col.names=FALSE)
执行上述代码后,转到excel文件并按Ctrl + V(粘贴)它。
推荐阅读
- javascript - 我的 `fetch` 请求应该放在我的 React 应用程序中的什么位置,而不必在子组件和父组件之间传递数据?
- reactjs - 为什么我从后端获取的信息会被 console.logged 但没有显示在 React 中?
- c - 在 x86-64 上被认为是原子的 C 程序中分配一个指针
- python - Pandas 列没有值
- python - 将 ttk.Entry 格式设置为仅接受 1:30 PM、8:00 AM 等格式
- sql - 根据间隔使用 sysdate 更新日期列
- angular - 如何在 Angular View 组件中添加动态布局?
- go - 最小正 float64 值
- powerpoint - PPTX文件中不同文件的说明
- c# - C# GetActiveTcpConnections() 仅关于一个应用程序