You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中按Time筛选并统计各薪资区间的性别分布

解决方案

首先确保你已安装并加载dplyr包:

install.packages("dplyr") # 未安装时执行
library(dplyr)

假设你的原始数据框名为df,以下是实现代码:

1. 生成part time统计数据框

part_time_stats <- df %>%
  filter(Time == "part time") %>%
  group_by(Payband) %>%
  summarize(
    male_count = sum(Gender == "male", na.rm = TRUE),
    female_count = sum(Gender == "female", na.rm = TRUE),
    total_count = n()
  ) %>%
  ungroup()

2. 生成full time统计数据框

full_time_stats <- df %>%
  filter(Time == "full time") %>%
  group_by(Payband) %>%
  summarize(
    male_count = sum(Gender == "male", na.rm = TRUE),
    female_count = sum(Gender == "female", na.rm = TRUE),
    total_count = n()
  ) %>%
  ungroup()

代码说明

  • filter():筛选出指定工时类型的数据
  • group_by(Payband):按薪资等级分组,后续统计基于每个分组计算
  • summarize():
    • sum(Gender == "male", na.rm = TRUE):统计每组男性数量,na.rm=TRUE自动忽略缺失值
    • sum(Gender == "female", na.rm = TRUE):统计每组女性数量
    • n():直接返回每组总人数
  • ungroup():完成统计后取消分组,避免后续操作受分组状态影响

如果你的Gender列存在大小写不一致的情况(比如Male/male),可先统一格式:

df$Gender <- tolower(df$Gender)

内容的提问来源于stack exchange,提问作者atm1984

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:00:53