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

分类变量与二分类变量相关性分析:求训练营与就业关联的正确R代码

训练营类型与工作岗位相关性分析的R实现方案

从你提供的数据截图来看,数据集包含两列核心分类变量:

  • Bootcamp:训练营类型(如软件工程、数据科学)
  • Job_Field:最终从事的工作领域(如软件相关、数据相关)

你当前的代码存在冗余和方向偏差问题:重复执行NA过滤、不必要的格式转换、错误地将分类变量转为数值型,这些操作对分类变量间的相关性分析没有帮助。以下是针对性的正确代码方案:

1. 数据清洗(仅需一次NA过滤)

假设数据已加载到data对象中,先过滤含缺失值的行:

# 过滤含缺失值的行
data_clean <- data[complete.cases(data), ]

2. 确认数据结构与分布

先查看变量类型和分类频数,确保数据符合分析要求:

# 查看数据结构
str(data_clean)
# 生成训练营-工作领域的交叉频数表
table(data_clean$Bootcamp, data_clean$Job_Field)

3. 统计检验:卡方检验

用卡方检验判断两类变量是否存在显著关联:

# 构建列联表
cross_tab <- table(data_clean$Bootcamp, data_clean$Job_Field)
# 执行卡方检验
chi_test <- chisq.test(cross_tab)
# 输出检验结果
print(chi_test)

若检验的p值小于0.05,说明训练营类型和工作岗位存在显著关联。

4. 量化关联强度:Cramer's V系数

卡方检验仅能判断是否关联,Cramer's V可量化关联强度(取值0-1,越接近1关联越强):

# 计算Cramer's V系数
cramer_v <- sqrt(chi_test$statistic / (nrow(data_clean) * (min(dim(cross_tab)) - 1)))
cat("Cramer's V系数:", cramer_v, "\n")

5. 可视化关联关系

用堆叠条形图直观展示不同训练营对应的工作领域分布:

# 若未安装ggplot2先执行:install.packages("ggplot2")
library(ggplot2)

ggplot(data_clean, aes(x = Bootcamp, fill = Job_Field)) +
  geom_bar(position = "fill") +
  labs(title = "不同训练营学员的工作领域占比",
       x = "训练营类型",
       y = "占比",
       fill = "工作领域") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:57:37