我正在使用一个数据框,其中“ job_title”列包含数百个标题,而另一列“ gender”指定观察值代表的人是男性还是女性。
(我正在努力弄清楚)如何删除所有行,以使男性和女性都不共享职称值?
换句话说,我想仅当且仅当其“ job_title”值记录为至少另一行具有另一“ gender”值时,才保留一行。如果只有男性有一个特定的职位,我想删除所有带有该职位的行;如果只有女性拥有职位,那么我也希望删除所有带有该职位的行。
答案 0 :(得分:0)
假设df
是您的数据帧,这是基本的R解决方案-
df[ave(df$gender, df$job_title, FUN = function(x) length(unique(x))) > 1, ]
使用tidyverse
-
df %>%
group_by(job_title) %>%
filter(n_distinct(gender) > 1)