扩展缺少行的长格式时间序列数据

时间:2016-12-07 01:21:09

标签: r time-series

我们说我有一个数据框:

df <- data.frame(group = c('A','A','A','B','B','B','C','C','C'), 
time = c(1,2,4,1,2,3,5,7,8), 
data = c(5,6,7,8,9,10,1,2,3))

我想要做的是将数据插入序列中缺少的数据框中。所以在上面的例子中,我为组A丢失时间= 3的数据,组B的时间= 4,组C的时间= 6.我本质上想把NAs放在数据列的位置。 我该如何添加这些额外的行? 我需要一个通用的解决方案 注意:我编辑了问题,因为有更早的错误 我们不能否认每个集团只有4次观察。

目标是:

  df <- data.frame(group = c('A','A','A','A','B','B','B','C','C','C','C'), 
    time = c(1,2,3,4,1,2,3,5,6,7,8), 
    data = c(5,6,NA,7,8,9,10,1,NA,2,3))

1 个答案:

答案 0 :(得分:0)

以下是使用data.table的一个选项。将“data.frame”转换为“data.table”(setDT(df)),将“group”分组的数据集从min展开为“{时间”的max并加入{{1 'group'和'time'列。

on