将数据框中的缺失值匹配到另一个值

时间:2020-10-05 21:23:15

标签: r dataframe match

我有一个数据框,其中缺少一些组信息。我想使用该值来匹配找到相同值的位置来分配组。

df <- data.frame(group = c(NA, 'group1', 'group2'),
                 value = c(0.7, 0.7, 0.3)) 

如何查看NA组的值与另一个组匹配的位置,并将NA值设置为等于该组?在这里,NA应该是“ group1”。

2 个答案:

答案 0 :(得分:1)

使用merge + subset的基本R选项

merge(df["value"],subset(df,complete.cases(df)))

给出

  value  group
1   0.3 group2
2   0.7 group1
3   0.7 group1

答案 1 :(得分:1)

我们可以在match中使用base R

df$group <- with(df, na.omit(group)[match(value, unique(value))])