r - 过滤器计数不同 > 1

标签 r dplyr

嗨,我有如下 df:

ID | Gender
1  | M
1  | F
2  | F
2  | F
2  | F
3  | M
3  | M
3  | F
4  | M
4  | M
4  | M

我想区分过滤具有超过 1 个性别的 ID(过滤脏数据,因为每人不能有 > 1 个性别) 结果应该是:

ID | Gender
1  | M
1  | F
3  | M
3  | F

如何使用 dplyr 在 R 中进行操作?

最佳答案

使用dplyr

library(dplyr)

df %>% 
  group_by(ID) %>% 
  filter(n_distinct(Gender) > 1) %>% 
  distinct(Gender)

这给出了,

# A tibble: 4 x 2
# Groups:   ID [2]
  Gender    ID
  <chr>  <int>
1 M          1
2 F          1
3 M          3
4 F          3

关于r - 过滤器计数不同 > 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60109173/

相关文章:

r - 桑基图中的标签大小(riverplot 包)

r - R中基于多列的匹配数据框

r - 如何使用 st_intersects() 等 sf 方法过滤 R 简单特征集合?

r - 一次汇总多个变量一组

r - 在 R 中生成满足约束的随机数

r - 识别哪个组包含非零值序列

r - 如何调整R中Bagging的参数?

r - 第一个和最后一个传入帖子之间的情感得分差异

r - mutate 和 rowSums 排除列

r - 如何在 r 中将整行向右移动然后删除第一列?