如何向data.frame添加日期和预测?

时间:2010-10-21 22:48:29

标签: r

我有一个data.frame,包含几天的历史数据。我想在此data.frame的末尾添加一个预测。

例如,我可以运行以下命令来创建一个简单的示例data.frame。

months <- c("2010-10-17","2010-10-18","2010-10-19","2010-10-20")
revenue <- c(10000,11000,10500,9500)

results <- data.frame(months,revenue)

运行此功能以生成预测。

forecast(results$revenue)

我所坚持的是如何在10月剩余时间内添加日期序列,并包含预测中的正确值。我希望生成类似于此的内容,为历史数据添加30天的预测。

> print(results)
       months revenue
1  2010-10-17   10000
2  2010-10-18   11000
3  2010-10-19   10500
4  2010-10-20    9500
5  2010-10-21   10250
6  2010-10-22   10250
7  2010-10-23   10250
8  2010-10-24   10250
9  2010-10-25   10250
10 2010-10-26   10250
11 2010-10-27   10250
12 2010-10-28   10250
13 2010-10-29   10250
14 2010-10-30   10250
15 2010-10-31   10250

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

这几乎肯定不是理想的做法,但它会让你到达那里:

#Get the sequence from a date to another date
date.seq <- as.Date("2010-10-17"):as.Date("2010-10-31")

#Unfortunately, add.dates is numeric - but can easily be converted back to
#dates if you know the origin (which you can find at ?Date)
new.dates <- data.frame(months = as.Date(date.seq, origin = "1970-01-01"),
                        revenue = NA)

#Slap it on to your existing dates
results.fc <- rbind(results, new.dates)

分成更多的步骤而不是你需要的步骤,但这样更容易阅读。希望这会有所帮助。