我有这样的数据集
pos value
1 20
2 30
4 50
5 50
9 30
您会注意到缺少3, 6,7,8
个职位和相应的值条目。我想用0对应的值填充它们,以便数据看起来像这样
pos value
1 20
2 30
3 0
4 50
5 50
6 0
7 0
8 0
9 30
关于如何在R中实现这一点的任何想法?
答案 0 :(得分:3)
我们可以使用complete
tidyr
library(tidyr)
df1 %>%
complete(pos = full_seq(pos, 1), fill = list(value=0))
# A tibble: 9 × 2
# pos value
# <dbl> <dbl>
#1 1 20
#2 2 30
#3 3 0
#4 4 50
#5 5 50
#6 6 0
#7 7 0
#8 8 0
#9 9 30
如果我们想继续到20岁
df1 %>%
complete(pos = full_seq(c(pos,20), 1), fill = list(value=0))