我们说我有一个数据框:
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))
答案 0 :(得分:0)
以下是使用data.table
的一个选项。将“data.frame”转换为“data.table”(setDT(df)
),将“group”分组的数据集从min
展开为“{时间”的max
并加入{{1 'group'和'time'列。
on