使用包含缺失值的数据集创建时间序列

时间:2014-02-26 01:53:08

标签: r dataframe dataset time-series tm

我需要从数据框创建时间序列。问题是变量没有很好的排序。数据框如下所示

  

案件日期   15 1/2009   30 3/2010   45 12/2013

我有60个这样的观察。正如您所看到的,数据是随机收集的,从2008年1月开始到2013年12月结束(这些年之间的大部分月份都有许多缺失值(案例))。我的假设是那几个月没有任何案例。那么,我如何将此数据集转换为时间序列?然后,我将尝试对将来可能的案例数做一些预测。

2 个答案:

答案 0 :(得分:0)

尝试安装plyr库,

install.packages("plyr")

然后将重复的Date2行加起来:

library(plyr)
mergedData <- ddply(dat, .(Date2), .fun = function(x) {
    data.frame(Cases = sum(x$Cases))
})

> head(mergedData)
       Date2 Cases
1 2008-01-01 16352
2 2008-11-01    10
3 2009-01-01    23
4 2009-02-01   138
5 2009-04-01    18
6 2009-06-01  3534

答案 1 :(得分:0)

您可以创建单独的时间序列序列并与数据系列合并。这将创建一个完整的时间序列,其缺失值为NA。 如果df是您的数据框,日期为日期列而不是创建新的时间序列ts并合并如下。

ts&lt; - data.frame(Date = seq(as.Date(“2008-01-01”),as.Date(“2013-12-31”),by =“1 month”)) dfwithmisisng&lt; - merge(ts,df,by =“Date”,all = T)