r - 如何将间隙插入时间序列中,以使结果时间序列中没有间隙?

标签 r

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

最佳答案

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

# 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从昨天开始。

关于r - 如何将间隙插入时间序列中,以使结果时间序列中没有间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733193/

相关文章:

r - if-else if-else语句和括号

r - 从数据框行自动生成字符串

r - 如何按标题而不是绘图区域对齐多个绘图?

r - 将cut()产生的标签格式化为百分比

r - 使用网格对齐 ggplot2 轴

r - 在 R 中按等距时间间隔聚合数据

按名称重命名多个列

r - 如何构建自动更新的拖放层次树

r - 如何将州和县线添加到 R 中的 geom_raster ggplot?

r - dplyr 无法使用 group_by() 重新定义类型