We can group by 'names' and filter
the 'sex' having unique
number of elements greater than 1
library(dplyr)
df %>%
group_by(names) %>%
filter(n_distinct(sex) > 1)
Or another option is to group by 'names' and filter
the groups having both the 'M' and 'F'
df %>%
group_by(names) %>%
filter(all(c("M", "F") %in% sex))
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…