【发布时间】:2018-07-15 22:50:54
【问题描述】:
在我的数据中,在某些月份存在某些 ID 的观察结果,而对其他 ID 则没有,例如
dat <- data.frame(c(1, 1, 1, 2, 3, 3, 3, 4, 4, 4), c(rep(30, 2), rep(25, 5), rep(20, 3)), c('2017-01-01', '2017-02-01', '2017-04-01', '2017-02-01', '2017-01-01', '2017-02-01', '2017-03-01', '2017-01-01',
'2017-02-01', '2017-04-01'))
colnames(dat) <- c('id', 'value', 'date')
我想为每个 id 值插入一个行,其中包含该 id 和 NA 缺失的月份(对于 value)。
有没有办法(在某种程度上)在seq(min(as.Date(dat$date)), max(as.Date(dat$date)), by = 'months') 的所有月份中简洁地执行此操作?我经常使用 tidyverse 和 data.table,但对任何方法都持开放态度。
【问题讨论】:
标签: r dplyr missing-data