我有这样填充缺失数据中的R
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中实现这一目标的任何想法?
我有这样填充缺失数据中的R
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中实现这一目标的任何想法?
我们可以使用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))
了'merge'可能? 'merge(data.frame(pos = min(df $ pos):max(df $ pos)),df,all.x = TRUE)' –