如何将间隙插回时间序列,以便在结果时间序列中没有间隙?

时间:2011-01-19 08:35:59

标签: r

我们将零售商数据存储在数据库中,如果一个商品没有销售,则数据库中没有该商品的行。因此,在从数据库获取数据到R之后,结果时间序列中将存在相同的间隙。有没有办法删除R中的时间序列(插入缺失的数据值为0)?

1 个答案:

答案 0 :(得分: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