SPSS 命令: SPSS CTABLES /COMPARETEST TYPE=MEAN
在横幅表中显示均值、中位数与列均值比较检验
自定义表(CTABLES)的汇总统计量把尺度变量的均值、中位数、离散程度和计数放在表格每个横幅列下方,COMPARETEST TYPE=MEAN 则标出哪些列的均值存在差异。
免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日
能告诉你什么
在 Crosstabs 中,可在“交叉表”模式下通过“汇总统计”控件添加这些行,也可在表册的“表格设计器”中设置;列均值比较检验可使用所有列合并方差或每对列方差,配合 Bonferroni、Holm 或 Benjamini–Hochberg 校正,以字母标记,并保留在所有导出文件中。
- 评分、消费金额或年龄等指标在各横幅列中的水平:均值、中位数、众数以及你指定的百分位数,并与“总计”列并列显示。
- 各列数值的离散程度:标准差、方差、均值标准误、最小值、最大值和全距。
- 各列对总量的贡献(总和及总和行百分比),以及这些数字基于多少个回答(有效 N,以及同时计入缺失回答的总 N)。
- 哪些列的均值显著高于哪些列:每个均值后标出它显著高于的列字母,严格水平用大写,宽松水平用小写。
适用场景
适合使用
- 跟踪研究或表册中,每个横幅(地区、年龄段、细分人群)都需要在类别百分比下方给出评分题的均值。
- 按列报告消费金额、时长等偏态指标的中位数和四分位数。
- 在可直接交付的表格中,用与列比例检验相同的字母标出哪些横幅列的均值更高。
改用其他方法
- 需要检验各组均值是否整体存在差异,或需要效应量、事后比较置信区间:CTABLES 没有整体检验,请使用单因素方差分析或“比较平均值”。
- 数据带抽样权重或具有分层、整群设计:汇总行只给出加权点估计,列均值比较检验不予报告;请使用复杂抽样描述统计或复杂抽样一般线性模型获得基于设计的标准误。
- 横幅列超过 12 个:列均值比较检验最多支持 12 列,请拆分横幅,或在“统计”模式中比较各组。
- 希望以分布形式呈现的分类评分:应显示类别百分比及列比例检验,而不是均值。
在 Crosstabs 中如何操作
- 01
在“交叉表”模式中建表
在工作区打开文件,切换到“交叉表”模式,并指定“行”变量和“列”变量。列变量就是汇总行所依据的横幅。
- 02
打开“汇总统计”并选择尺度变量
点击表格工具栏中的“汇总统计”(Σ),在“尺度变量”中选择一个数值变量(权重变量不在列表中)。默认勾选均值、标准差、均值标准误和有效 N,并开启列均值检验。
- 03
选择统计量和百分位数
在“统计”下勾选均值、中位数、众数、标准差、方差、均值标准误、最小值、最大值、范围、总和、总和行百分比、有效 N 和总 N 中的任意几项;在“百分位数(以逗号分隔)”中输入其他百分位数,例如 25, 75。
- 04
设置列均值检验
在“列均值检验”中选择“所有列”(所有列合并方差,即 SPSS 默认)、“每对列”(仅用被比较两列的方差)或“关闭”。在“交叉表”模式下,检验使用 95% 和 90% 两级水平、Bonferroni 校正以及 30 名未加权受访者的最小基数;可在“显示”→“列比较”中切换字母、箭头、颜色或关闭。
- 05
在表册中更改校正方法
如需 Holm 或 Benjamini–Hochberg 校正,请把表格保存到表册,进入“表册”模式(专业工作区),在“表格设计器”中编辑:“汇总统计”部分提供同样的设置,“基础和测试”部分可设置严格与宽松置信水平、“多重性”校正(Bonferroni、Holm、Benjamini–Hochberg 或无)、检验最小基数、检验基数以及标记方式。
- 06
阅读并导出
标题为“汇总统计:<变量>”的区块显示在类别行下方,与横幅列和“总计”列对齐,并附有脚注。这些行、字母和注释会保留在 CSV、Excel、PowerPoint、Word 和 PDF 导出中。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
174 名模拟受访者对总体满意度按 0–10 分打分,分组变量为地区(北部、中部、南部)。分数由固定种子的正态分布生成,四舍五入并截断到 0–10 分;每个回答有 6% 的概率为“不知道”(缺失;本例共 14 个),因此有效 N 与总 N 不同。设置与“交叉表”模式默认值一致:列均值比较检验使用所有列合并方差、Bonferroni 校正,p < .05 用大写字母、p < .10 用小写字母标记,最小基数 30。
| 项目 | 北部(A) | 中部(B) | 南部(C) | 总计 |
|---|---|---|---|---|
| 均值 | 6.30 | 6.90 | 7.59 A | 6.89 |
| 中位数 | 6.00 | 7.00 | 8.00 | 7.00 |
| 第 25 百分位数 | 5.00 | 6.00 | 6.00 | 6.00 |
| 第 75 百分位数 | 8.00 | 8.00 | 9.00 | 8.00 |
| 众数 | 5.00 | 7.00 | 7.00 | 7.00 |
| 标准差 | 1.86 | 1.59 | 1.81 | 1.84 |
| 均值标准误 | 0.24 | 0.23 | 0.25 | 0.15 |
| 最小值 | 1.00 | 2.00 | 3.00 | 1.00 |
| 最大值 | 10.00 | 10.00 | 10.00 | 10.00 |
| 有效 N | 61 | 48 | 51 | 160 |
| 总 N | 64 | 58 | 52 | 174 |
均值后的字母表示均值显著更低的列(大写 p < .05,小写 p < .10,经 Bonferroni 校正)。百分位数采用平均经验分布定义。
| 比较对 | t | df | p(未校正) | Bonferroni | Holm | Benjamini–Hochberg | Bonferroni(每对方差) |
|---|---|---|---|---|---|---|---|
| A–B:北部与中部 | −1.763 | 157 | .080 | .239 | .106 | .080 | .231 |
| A–C:北部与南部 | −3.860 | 157 | <.001 | <.001 | <.001 | <.001 | <.001 |
| B–C:中部与南部 | −1.950 | 157 | .053 | .159 | .106 | .079 | .140 |
t 与 df 基于所有列的合并方差;最后一列为仅用被比较两列合并方差重新检验的结果。
结果解读
南部的平均满意度最高(7.59,总体为 6.89);14 个“不知道”回答不计入除总 N 以外的任何统计量。经 Bonferroni 校正,列均值比较检验发现北部与南部(校正后 p < .001)在 p < .05 水平上显著,因此南部的均值标有字母 A。Holm 与 Benjamini–Hochberg 校正改变了校正后的 p 值,但没有改变哪些比较对在 p < .05 水平上显著。若采用 Benjamini–Hochberg 校正,北部与中部(校正后 p = .080)、中部与南部(校正后 p = .079)会达到 Bonferroni 下未达到的 90% 水平,以小写字母标记。改用每对列各自的合并方差而非所有列的合并方差,此处结论不变。
输出表格说明
- 汇总统计:<变量>
- 每个所选统计量一行,每个横幅列及“总计”列各一个值。百分位数行紧跟在中位数之后。有效 N 只计有有效尺度值的回答,总 N 还包括用户缺失和系统缺失的回答。总和行百分比是各列总和占全部总和的比例。
- 列均值检验字母
- 在均值行中,每个单元格列出均值显著更低的列字母(A、B、C……):低于严格 α 用大写,低于宽松 α 用小写。也可改用箭头或颜色标记。
- 汇总说明
- 脚注说明缺失值已排除、百分位数采用平均经验分布定义,描述检验设置(方差选项、校正方法、α 水平、最小基数),并在未运行检验时说明原因:抽样权重、列数过多、可检验的列少于两列或合并方差为零。
前提假设与注意事项
- 检验以双侧 t 检验比较各列均值;列内样本较少时,要求尺度变量在各列内近似正态。
- “所有列”假设各列方差相近;离散程度差异较大时,“每对列”只使用被比较两列的方差。
- 加权基数小于 2 或低于检验最小基数的列不参与比较;选择“所有列”时,合并方差仍使用所有基数不小于 2 的列。
- 频数权重视为个案计数,检验时对加权基数取整;抽样权重只给出加权点估计,不报告标准误和列均值检验。
- 百分位数和中位数采用 CTABLES 所用的平均经验分布(AEMPIRICAL)定义,可能与 FREQUENCIES 的默认方法不同;众数并列时报告最小值。
结果如何验证
汇总行和列均值比较检验与五个参考场景对照验证(未加权与频数加权;合并方差与每对方差;Bonferroni、Holm、Benjamini–Hochberg 与不校正;一列因最小基数被排除),参考值由 NumPy 2.5.4、SciPy 1.18.1 和 statsmodels 0.15.0 独立生成:百分位数用 averaged_inverted_cdf,众数用 scipy.stats.mode,每对方差用 ttest_ind,合并方差用 OLS 残差均方,校正用 multipletests。统计量、t 和自由度的相对误差在 1e-10 以内,原始与校正后 p 值的误差在 1e-12 以内。 验证证据(英文)
常见问题
“所有列”和“每对列”有什么区别?
“所有列”把所有基数不小于 2 的列的列内方差合并(对应 SPSS 默认的 MEANSVARIANCE=ALLCATS),自由度更多。“每对列”只使用被比较的两列(TESTEDCATS),在各列离散程度不同时更稳妥。
应选择哪种多重比较校正?
默认的 Bonferroni 最保守。Holm 控制相同的族错误率,但标出的显著对不少于 Bonferroni。Benjamini–Hochberg 控制错误发现率,最宽松,适合在大型表册中筛查线索。
为什么表格下方没有方差分析的 p 值?
CTABLES 只报告两两列比较,Crosstabs 也是如此。如需整体 F 检验、Welch 检验或效应量,请在“统计”模式中运行单因素方差分析,并以横幅变量作为因子。
为什么中位数与 FREQUENCIES 的结果不同?
CTABLES 用平均经验分布定义计算百分位数,而 FREQUENCIES 默认使用加权平均定义。对于 0–10 分这类离散评分,两者可能相差不到一分。
为什么有些列没有字母?
基数小于 2 或低于检验最小基数(“交叉表”模式下为 30 名未加权受访者)的列不参与比较。脚注会说明基数规则;使用抽样权重或横幅列超过 12 个时,检验整体不予报告。
计算均值时数据会被上传吗?
不会。表格、汇总行和列均值检验都在浏览器中计算,文件不会发送到 Crosstabs 服务器。
相关过程
- 交叉表统计量CROSSTABS /STATISTICS
- 分组均值比较MEANS
- 单因素方差分析ONEWAY
- 描述统计DESCRIPTIVES
- 复杂抽样描述统计CSDESCRIPTIVES
- 探索性分析EXAMINE
- 免费的 SPSS 替代工具:支持范围
用你自己的数据运行自定义表汇总统计量
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。