如何标记值出现在R中多个组中的行?

我想添加一列,指示值是否出现在多个组中。使用下面的示例,值 '4' 出现在组 '1' 和 '2' 中,因此我想标记该值。

x = matrix(c(1,1,1,2,2,2,3,3,4,4,5,4), nrow = 6, ncol = 2, byrow = F)
x = data.frame(x)
x

#   X1 X2
# 1  1  3
# 2  1  3
# 3  1  4
# 4  2  4
# 5  2  5
# 6  2  4

这将是所需的输出:

#   X1 X2 FLAG
# 1  1  3  False  
# 2  1  3  False
# 3  1  4  True
# 4  2  4  True
# 5  2  5  False
# 6  2  4  True

回答

我们可以n_distinct在按'X2'分组后使用创建标志

library(dplyr)
x %>% 
     group_by(X2) %>% 
     mutate(FLAG = n_distinct(X1) > 1)


以上是如何标记值出现在R中多个组中的行?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>