我有一个数据框,其中缺少一些组信息。我想使用该值来匹配找到相同值的位置来分配组。
df <- data.frame(group = c(NA, 'group1', 'group2'),
value = c(0.7, 0.7, 0.3))
如何查看NA组的值与另一个组匹配的位置,并将NA值设置为等于该组?在这里,NA应该是“ group1”。
答案 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))])