问卷分析
交叉分析【多选&单选】
分析每一个多选题的题项在每一个单选题项的分布与差异情况。
这篇能回答什么
交叉分析【多选&单选】盯住的是每一个 0/1 选项,问它在互斥单选各水平上盖住了多少人。行是选项,列(banner)是单选取值。格子频数=该水平里勾了该选项的人数。占比=该频数 ÷ 该水平的物理人数(个案普及率),所以 145÷252=57.54%,不是 145÷222。
角色上:多选题项进 X(二元定类,至少 2 列),单选题进 Y(定类,可一次放多道,每道一张表)。本教学示例 Y 只有「学生性别」。问题形态是「不想上课这件事,在男生里更常见还是在女生里更常见」,而不是「男生的多选菜单长什么样」——后者应改走单选×多选。
如何选择方法
判断句:你的主语是不是「某个选项的覆盖」?是,就把 0/1 放进多选题项、把身份题放进单选题。主语若是「某一类人勾了什么」,角色对调,换单选×多选。
多选×单选:X=2–100 个 0/1 选项,Y=1–10 个互斥单选;占比=水平内个案普及率。
单选×多选:从分组身份出发读多选菜单剖面。
多重响应:没有第二道题,只报选项计数与两种比率。
列联 / 卡方:两边都是互斥类别,一人一行一列。
输入、输出与限制
输入
多选题项必须是 0/1(正值只记一次勾选)。单选题必须是互斥标签:男/女、公立/私立。若把另一套 0/1 误放到「单选题」,0 与 1 会被当成两个水平,banner 失去意义。
多选题项:最少 2 个,最多 100 个(二元定类)。
单选题:最少 1 个,最多 10 个(定类);每个单选输出一张表。
输出
表名仍是「多重响应频率交叉分析表」。行=选项,列=「单选题(水平)频数 / 占比」,另有行总数与整表 χ²、p。末行「总计」是各 banner 水平的响应次数(男生 272),不是 252 名男生。图标题作「多选×单选 · 学生性别 分组普及率」。
产品限制
占比分母是该单选水平的到访人数,缺答该单选的人不会进这个分母。
同一人可出现在多行,因此男生列三个占比相加不必等于 100%。
χ² 针对选项×水平的计数矩阵,一人多行,p 只作参考推断。
高基数单选会拉出很宽的 banner,宜先合并稀有水平。
案例
研究问题。 三项厌学勾选(不想上课、不愿作业、提到就烦)在男、女学生中的覆盖是否不同?主语是选项:先盯「不想上数学课」这一行,再看它在两个性别上的普及率落差。
有效样本数据里,性别到访人数为男 252、女 248。不想上课一行:男 145(57.54%)、女 77(31.048%),行总数 222。不愿作业一行两边几乎持平(30.952% 对 31.855%)。整表 χ²=11.654,p=0.003。下载后:多选题项勾这三列,单选题勾学生性别。
在 StatsX 中操作
步骤 1 · 放入工作表
将学生问卷拖到上传区,锁定「有效样本数据」。
步骤 2 · 分清编码家族
厌学三列应只有 0/1;学生性别应只有男、女。把 1–5 分兴趣题拖进多选题项会得到无意义的「选中」。
步骤 3 · 点「多选&单选」
搜索「交叉分析」时认准标题里的「多选&单选」,次序不能反。
步骤 4 · 角色:选项在前
多选题项=不想上课、不愿作业、提到就烦。单选题=学生性别。运行。
步骤 5 · 沿行比较 banner
先读「不想上数学课」这一行的两个占比,确认分母是 252/248。再看共用的 p=0.003。




如何阅读输出
主体是行。「不想上数学课」被 222 人勾过:其中男生 145 人,占全部男生的 57.54%,不是占这 222 人的 65%。女生 77 人,占全部女生的 31.048%。落差约 26 个百分点,是本表最醒目的选项级差异。不愿作业(157 人)与提到就烦(98 人)在男女之间几乎重叠。
| 分组题项 | 学生性别(男)频数 | 学生性别(男)占比(%) | 学生性别(女)频数 | 学生性别(女)占比(%) | 总数 | X² | P |
|---|---|---|---|---|---|---|---|
| 不想上数学课 | 145 | 57.54 | 77 | 31.048 | 222 | 11.654 | 0.003 |
| 不愿完成数学作业 | 78 | 30.952 | 79 | 31.855 | 157 | 11.654 | 0.003 |
| 一提到数学就感到烦躁 | 49 | 19.444 | 49 | 19.758 | 98 | 11.654 | 0.003 |
| 总计 | 272 | 205 | 477 | 11.654 | 0.003 |
左右滑动可查看完整表格
末行总计男 272、女 205、合计 477。272=145+78+49,是男生在这三行上的勾选次数,人均 272/252≈1.08 项;205/248≈0.83。空着的占比格提醒你:总计行没有「普及率」,不能拿 272 去除 252 再写进选项行。三行(不含总计)共用 χ²=11.654、p=0.003。


工作台把整张 3×2 计数一次送进卡方:p=0.003(α=0.05)。从选项主语读,这句话只说明「三行合在一起时性别方向不像同一套比例」,落地时仍要回到不想上课那一行的 26 个百分点落差。
建议写法:先点名主语选项与 banner,再写「男生 57.54%(145/252)对女生 31.048%(77/248)勾了不想上课」,最后补整表 χ² 与 p。显著不等于每一行都有性别差——不愿作业、提到就烦的两边占比几乎一样,拉动 χ² 的主要是第一行。
理论与公式
设选项 j 的示性为 s_{ij},单选水平为 G_i=g,该水平到访人数为 N_g。单元格与个案普及率为:
响应份额是 n_{jg}/T_g(男生不想上课应为 145/272≈53.3%),本表不输出这一列。行百分比 n_{jg}/R_j(145/222≈65.3% 为男生)也不是默认占比。χ² 加在 {n_{jg}} 上。因为行与行共享同一批人,渐近 p 偏乐观,只作提示。
注意事项
写「占比」必须带出分母是 N_g,避免被读成行百分比。
总计行的 272 不能当男生人数去核对频数分析。
一次放多个单选题会得到多张表,每张有自己的 χ²,注意比较次数。
把年级这种多水平单选放进 Y 完全合法,但稀有水平会让普及率抖动。
0/1 脏值只计一次;单选缺失的人从该 banner 列消失。
常见问题
参考文献
张文彤, 董伟. SPSS统计分析基础教程[M]. 高等教育出版社.
De Vaus, D. Surveys in Social Research. Routledge.
IBM. SPSS Multiple Response: Crosstabs with dichotomies.
Agresti, A. An Introduction to Categorical Data Analysis. Wiley.