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

如何用R计算男女meanbasepay均值差值以计算效应量

R计算两组均值差值与效应量操作教程(针对Glassdoor性别薪酬差距分析)

前置说明

你需要先确保已导入清洗后的数据集,假设数据集命名为glassdoor_df,包含两个核心字段:

  • 性别列gender,取值为male(男性)、female(女性)
  • 基本工资列basepay,为数值型薪酬数据

第一步:计算男女基本工资均值差值

方法1:基础R实现(无需额外安装包,适合初学者)

# 分别提取男女对应的基本工资数据
male_pay <- glassdoor_df$basepay[glassdoor_df$gender == "male"]
female_pay <- glassdoor_df$basepay[glassdoor_df$gender == "female"]

# 计算两组均值,na.rm = TRUE表示跳过缺失值避免结果为NA
mean_male <- mean(male_pay, na.rm = TRUE)
mean_female <- mean(female_pay, na.rm = TRUE)

# 计算均值差,结果为正则说明男性平均基本工资高于女性
pay_gap <- mean_male - mean_female
# 输出结果
pay_gap

方法2:tidyverse实现(代码更简洁,适合后续拓展分析)

# 未安装包先执行:install.packages("tidyverse")
library(tidyverse)

# 分组统计均值
pay_mean_stat <- glassdoor_df %>%
  group_by(gender) %>%
  summarise(mean_basepay = mean(basepay, na.rm = TRUE))

# 计算差值
pay_gap <- pay_mean_stat$mean_basepay[pay_mean_stat$gender == "male"] - pay_mean_stat$mean_basepay[pay_mean_stat$gender == "female"]
# 输出结果
pay_gap

第二步:计算效应量(科恩d值)

常用两组独立样本的效应量指标为科恩d值(Cohen's d),指标含义参考:

  • 绝对值≈0.2:效应量小
  • 绝对值≈0.5:效应量中等
  • 绝对值≥0.8:效应量大

代码实现

# 未安装包先执行:install.packages("effsize")
library(effsize)

# 计算科恩d值
cohen_d_result <- cohen.d(male_pay, female_pay, na.rm = TRUE)
# 输出结果
cohen_d_result

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 21:12:00