2011-01-19 62 views
2

我们将零售商数据存储在数据库中,如果没有一个项目的销售,那么数据库中没有该项目的行。因此,在将数据库中的数据提取到R后,结果时间序列中将存在相同的间隔。有什么办法可以删除R中的时间序列(插入缺失值为0的数据)?如何在时间序列中插入间隔以便结果时间序列中没有间隔?

+0

一些示例数据会很好。 – 2011-01-19 09:13:29

回答

5

如昨天所示,只需构建一个具有所需时间帧的向量,然后合并即可。

# Your dataframe 
DF <- data.frame(day = seq(as.POSIXlt("2011-01-17"), 
          as.POSIXlt("2011-02-14"), 
          by = "days")[seq(1, 30, by = 4)][-6], 
       value = c(5,5,7,8,4,6,5,6,9,8,6,6,4,6)) 

# new dataframe 
full <- data.frame(day = seq(min(DF$day),max(DF$day),by = "days"), 
        value = 0) 
# the big merge trick     
merge(DF,full,all=T) 

另请参见从昨天this question