【发布时间】:2014-06-16 10:26:33
【问题描述】:
我在特定目录中有大约 100 个 csv 文件,我想对所有文件使用移动平均预测。以下是我写的代码:
fileNames <- Sys.glob("*.csv")
for (fileName in fileNames) {
abc <- read.csv(fileName, header = TRUE, sep = ",")
library(stats)
library(graphics)
library(forecast)
library(TTR)
library(zoo)
library(tseries)
abc1 = abc[,1]
abc1 = t(t(abc1))
abc1 = as.vector(abc1)
abc2 = ts(abc1, frequency = 12,start = c(2014,1))
abc_decompose = decompose(abc2)
plot(abc_decompose)
forecast = (abc_decompose$trend)
x <- data.frame(abc, forecast)
write.csv (x, file = fileName, row.names=FALSE, col.names=TRUE)
}
现在这段代码运行良好。它在每个 csv 文件中附加一个名为 forecast 的列,并在其中写入预测值。问题出在这 100 个 csv 文件中,有些文件太小,R 显示以下错误:
Error in decompose(abc2) : time series has no or less than 2 periods
实际上,我对条目少于 10 个的文件不感兴趣,但手动删除这些文件很困难。请帮忙。
【问题讨论】: