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

如何在R中检验多选项相对频率的显著性差异?

多类别选择的频率差异显著性检验问题

我开展了一项研究,让参与者基于不同参数在选项A、B、C中选择,例如问题为:“以下哪项最具启发性?”

原始数据

IDInspiration
1A
2C
3B
4C
5B
6C
7B
8C
9A
10B
11A
12B

处理后数据(含相对频率)

IDInspirationProportion
1A.25
2C.33
3B.42
4C.33
5B.42
6C.33
7B.42
8C.33
9A.25
10B.42
11A.25
12B.42

核心问题

如何检验各选项的相对频率是否存在显著性差异?即如何判断选择选项A的频率与选择B或C的频率是否存在显著差异?已尝试t检验、方差分析(ANOVA)、卡方检验和双比例z检验,但似乎都不符合需求。


解决方案

1. 整体差异检验:卡方拟合优度检验

你的数据是单组样本对3个类别的选择计数,本质是单分类变量的拟合优度问题,应该用卡方拟合优度检验来判断三个选项的选择频率是否与“无差异(每个选项被选概率为1/3)”存在显著差异。

步骤:

  • 先统计实际频数:A=3,B=5,C=4,总样本量N=12
  • 原假设H₀:三个选项的选择概率相等(均为1/3);备择假设H₁:至少一个选项的选择概率与1/3不同
  • 计算期望频数:每个选项期望频数=12*(1/3)=4
  • 卡方统计量:$\chi^2 = \frac{(3-4)^2}{4} + \frac{(5-4)^2}{4} + \frac{(4-4)^2}{4} = 0.5$
  • 自由度df=3-1=2,查卡方分布表得p值≈0.779,远大于0.05,说明整体上三个选项的选择频率无显著差异。

2. 两两比较:Fisher精确检验

如果要单独比较某两个选项(比如A vs B、A vs C),因为样本量小(N=12),Fisher精确检验比双比例z检验更合适(z检验适合大样本)。

示例:A vs B

构建2x2列联表:

选A选B
计数35

Fisher精确检验的p值≈0.455,大于0.05,说明A和B的选择频率无显著差异。

示例:A vs C

构建2x2列联表:

选A选C
计数34

Fisher精确检验的p值≈1.0,无显著差异。

3. 为什么之前的方法不合适?

  • t检验/ANOVA:适用于连续型数据,你的数据是分类计数数据,不匹配。
  • 双比例z检验:针对独立双样本的比例比较,而你的数据是同一组样本的多分类选择,不属于独立双样本场景。
  • 卡方检验(误用类型):如果之前用了卡方独立性检验而非拟合优度检验,会导致分析逻辑错误。

代码实现(以R为例)

# 原始数据
inspiration <- c("A", "C", "B", "C", "B", "C", "B", "C", "A", "B", "A", "B")

# 卡方拟合优度检验
freq_table <- table(inspiration)
chisq.test(freq_table, p = c(1/3, 1/3, 1/3))

# Fisher精确检验:A vs B
ab_table <- table(inspiration[inspiration %in% c("A", "B")])
fisher.test(ab_table)

# Fisher精确检验:A vs C
ac_table <- table(inspiration[inspiration %in% c("A", "C")])
fisher.test(ac_table)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:25:31