R 过滤器计数不同>;1.

R 过滤器计数不同>;1.,r,dplyr,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

您好,我的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)
这就给了,

#一个tible:4 x 2
#组别:ID[2]
性别ID
1米1
2f1
3米3
4f3

可能重复:@RonakShah不太好。@Sotos好吧,如果你在所有这些解决方案中包装
unique
,它会给你预期的输出。在任何情况下,它都不是“精确”的副本。
# A tibble: 4 x 2
# Groups:   ID [2]
  Gender    ID
  <chr>  <int>
1 M          1
2 F          1
3 M          3
4 F          3