【问题标题】:Keeping only categories that contain both female and male observations [closed]只保留包含女性和男性观察的类别[关闭]
【发布时间】:2019-04-19 07:27:17
【问题描述】:

我正在使用一个数据框,其中“job_title”列包含数百个标题,而另一个列“gender”指定观察所代表的人是男性还是女性。

(我正在努力弄清楚)如何删除所有行以使男性和女性不共享职位值?

换句话说,当且仅当它的“job_title”值被记录为至少一个具有另一个“性别”值的其他行时,我想保留一行。如果只有男性有特定的职位,我想删除该职位的所有行;如果只有女性有职称,我也希望删除所有具有该职称的行。

【问题讨论】:

  • 请使用 dput() 提供可重现的输出

标签: r dataframe plyr tidyverse


【解决方案1】:

假设 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)

【讨论】:

  • 这两个选项中的后一个适用于我的特殊情况!
  • @tres14 两者都应该可以工作,但我只能在您提供样本数据集的情况下对其进行测试。
猜你喜欢
  • 1970-01-01
  • 2013-09-01
  • 2015-11-13
  • 2022-01-23
  • 2016-09-02
  • 1970-01-01
  • 2017-04-13
  • 2013-06-11
  • 2011-03-04
相关资源
最近更新 更多