Skip to content

5.2.3 反转负向编码的变量 ​

数据录入错误并非想要重新编码数据的唯一原因。示例文件 hotel.sav 包含从某特定酒店客户满意度调查中收集的数据。以下命令加载该文件并显示其变量及关联的数据:

PSPP> get file='/usr/local/share/pspp/examples/hotel.sav'.
PSPP> display dictionary.

它产生以下输出:

名称位置标签测量水平角色宽度对齐打印格式写入格式
v11我对服务水平感到满意有序输入8右F8.0F8.0
v22性价比良好有序输入8右F8.0F8.0
v33员工响应迟缓有序输入8右F8.0F8.0
v44我的问题得到了高效处理有序输入8右F8.0F8.0
v55房间内噪音太大有序输入8右F8.0F8.0
变量值标签
我对服务水平感到满意1强烈不同意
2不同意
3无意见
4同意
5强烈同意
性价比良好1强烈不同意
2不同意
3无意见
4同意
5强烈同意
员工响应迟缓1强烈不同意
2不同意
3无意见
4同意
5强烈同意
我的问题得到了高效处理1强烈不同意
2不同意
3无意见
4同意
5强烈同意
房间内噪音太大1强烈不同意
2不同意
3无意见
4同意
5强烈同意

输出显示,所有变量 v1 到 v5 都按 5 点 Likert 量表测量,其中 1 表示“强烈不同意”,5 表示“强烈同意”。然而,某些问题表述为正向(v1、v2、v4),其他为负向(v3、v5)。为了进行有意义的分析,我们需要重新编码变量,使它们都按同一方向测量。我们可以使用 RECODE 命令,语法如下:

recode v3 (1 = 5) (2 = 4) (4 = 2) (5 = 1).

然而,更简单且更优雅的方法是使用 COMPUTE 命令(见 COMPUTE)。由于变量是范围 (1 … 5) 内的 Likert 变量,从 6 中减去它们的值即可起到反转作用:

compute var = 6 - var.

以下小节使用此技术重新编码变量 v3 和 v5。对两个变量都应用 COMPUTE 后,所有后续命令将使用反转后的值。

基于 GNU PSPP 2.0.1 手册与入门教程整理