SPSS中生成品牌排名交叉计数表的语法求助
SPSS生成品牌排名交叉计数表的正确语法
前提说明
假设原始数据为宽格式:每一行对应1位受访者,包含3个变量(如Rank1/Rank2/Rank3),分别存储该受访者对BMW、Mercedes、Audi的1-3名选择。
步骤1:转换数据格式(宽转长)
通过VARSTOCASES命令将分散的排名变量整合为长格式,生成两个核心变量:Rank(排名等级:1/2/3)和Brand(对应品牌)。
* 宽格式转长格式,适配交叉表统计. VARSTOCASES /MAKE Brand FROM Rank1 Rank2 Rank3 /* 替换为你实际的排名变量名 */ /INDEX Rank(Rank1 Rank2 Rank3) /* 自动生成排名序号:1对应Rank1,以此类推 */ /NULL=DROP. /* 丢弃含缺失值的记录(按需保留/删除) */
步骤2:生成交叉计数表
用CROSSTABS命令统计各品牌在不同排名的频次,可按需调整行列顺序、添加百分比:
* 生成品牌×排名的交叉计数表. CROSSTABS /TABLES=Brand BY Rank /* 行=品牌,列=排名;可互换为Rank BY Brand */ /FORMAT=AVALUE TABLES /* 显示变量值标签(如品牌名、排名数字) */ /CELLS=COUNT /* 仅显示计数;需百分比则加ROW/COLUMN/TOTAL,如COUNT COLUMN */ /COUNT ROUND CELL. /* 计数取整 */
注意事项
- 若原始数据的变量名、值标签与示例不同,需同步替换语法中的变量名。
- 如果问卷允许受访者跳过排名(存在缺失值),可删除
/NULL=DROP保留缺失记录,后续在CROSSTABS中设置缺失值处理规则。
内容的提问来源于stack exchange,提问作者Thierry G.
相关产品推荐
相关产品推荐

