首页 > 解决方案 > R中的自动循环(导出)

问题描述

我正在从包含两列(日期戳和值)的 CSV 文件中导入历史数据,在 R 中进行预测,并将预测值导出回 CSV。除了我预测许多不同类型的历史数据之外,一切都很好,每个都有自己的 CSV 文件。我希望能够创建一个 for 循环以从一个文件夹中读取所有 CSV 历史文件,进行预测,并将其存储并将预测值导出到单独文件夹中的 CSV。

这是我正在使用的代码:

df <- read.csv("C:/.../sample3.csv")
m <- prophet(df)
future <- make_future_dataframe(m, periods = 365)
forecast <- predict(m, future)
write.csv(forecast, 'C:/.../testoutput2.csv')

我是 R 新手,我一直在网上检查资源,但没有找到任何解决方案。希望有人可以在这里帮助我。谢谢你。

标签: rfor-loopforecasting

解决方案


我假设您想遍历文件夹中的文件。用于list.files获取所有 CSV 文件的列表,然后您可以循环。输出文件的格式为out_filename.csv

setwd("c:/something/something/")
for (file in list.files(pattern ="*.csv")){

  df <- read.csv(file)
  m <- prophet(df)
  future <- make_future_dataframe(m, periods = 365)
  forecast <- predict(m, future)
  write.csv(forecast, sprintf("out_%s.csv", file)

}

推荐阅读