SPSS讲义:重新编码与产生新变量

Author
Affiliation

刘念夏教授, PhD

Published

26 September 2025

1 使用数据:stfood2019test.sav

2 重新编码:菜单法+代码法

假设我们想要把一个变量 Q2 重新编码为 class,变量数值转换对照表,如下:

Figure 1: 变量数值转换对照表

SPSS的菜单操作如下:

Transform -> Recode into Different Variables

Figure 2: 重新编码菜单操作-1

会出现一个新的窗口(Recode into Different Variables)。将左边窗口的Q2变量,移到右边窗口,同时输入新变量的名称(Name):class,及变量标签(Label): 年级 ,然后点击 Change 方框,如下图。

Figure 3: 重新编码菜单操作-2

接下来,点击 Old and New Values 方框,如下图。

Figure 4: 重新编码菜单操作-3

在Old Value的Range,输入 1 through 2, 在New Value 的Value,输入 1,然后点击 Add 方框,如下图。

Figure 5: 重新编码菜单操作-4

此时,SPSS的 Old –> New 会出现: 1 thru 2 –> 1,如下图。

Figure 6: 重新编码菜单操作-5

同样的,在Old Value的Range,输入: 3 through 4, 在New Value 的Value,输入 2,然后点击 Add方框 ,如下图。

Figure 7: 重新编码菜单操作-6

此时SPSS的Old –> New会出现: 3 thru 4 –> 2 , 然后再点击 Continue 方框,如下图。

Figure 8: 重新编码菜单操作-7

这样就完成了变量的重新编码工作。之后,可以点击 OK 方框,直接得到新的变量 class

另外,也可以点击 Paste 方框, 将刚才在菜单操作的各项步骤,转贴出SPSS代码,如下图。

Figure 9: 重新编码菜单操作-8

转贴出来的SPSS代码如下(会出现在 Syntax 窗口),如下图。

Figure 10: 重新编码菜单操作-9

在SPSS的Syntax(语法代码)窗口(*.sps),高亮(选择)转贴出来的SPSS代码,并点击 Run(符号如下图) ,就可以执行代码,得到新的变量 class

Figure 11: 重新编码菜单操作-10

执行完毕后,可以在Data View窗口,看到新的变量 class 出现了,如下图。

Figure 12: 重新编码菜单操作-11

接下来,在数据档窗口,点击 Variable View
将鼠标移到 class 变量 Value 栏位方格的右边处,则SPSS会出现另一个小窗口 Value Labels 。在该窗口的 Value 输入 1Label 输入 大一大二,并点击 Add 方框 ,如下图。

Figure 13: 重新编码菜单操作-12

继续在该窗口的 Value 输入 2Label 输入 大三大四,并点击 Add 方框,最后再点击 OK 方框, 如此就完成了 class 变量的 变量值标签的设置, 如下图。

Figure 14: 重新编码菜单操作-13

切换到SPSS代码窗口,在空白处输入 FREQUENCIES Q2 class 这行代码,高亮(选择)代码,并点击 Run符号,如下图。

Figure 15: 重新编码菜单操作-14

这样就会在输出(output)窗口呈现频数分布表结果,产生原始变量 Q2(2.请问您是大几的学生?) 与重新编码后新变量 class(年级) 的频数分布表。 我们可以观察对照,看刚才所做的重新编码是否正确,如下图。

Figure 16: 重新编码菜单操作-15

3 重新编码:自行练习

假设我们想要把一个变量 Q3 重新编码为 dep,变量数值转换对照表,如下:

Figure 17: 变量数值转换对照表-2

同学们可参照上述操作步骤,依样画葫芦,完成变量 Q3 重新编码为 dep 的工作。

4 产生新变量

假设我们想要把一个变量 Q1 重新编码为 sex变量值 不变,只是改变 变量 的名称,又该怎么做呢?

Figure 18: 产生新变量转换对照表

SPSS的菜单操作如下:

Transform ---> Compute Variables,如下图。

Figure 19: 产生新变量菜单操作-1

此时会出现一个 Compute Variable 窗口, 在 Target Variable 方框内,输入新变量的名称: sex,并将左边 Q1 变量移到右边 Numeric Expression 方框内,然后点击 OK 方框,如下图。

Figure 20: 产生新变量菜单操作-2

接着,切换到数据窗口,在 sex 变量的 Label 方框内,输入新变量的变量标签: 性别。并点击 sex 的 Values 方框右边处,会出现 Value Labels 新窗口,如下图。

Figure 21: 产生新变量菜单操作-3

依照前面所说的方法,分别在 Value 方框输入 1, Label 方框输入 ,按一下 Add 方框。继续在Value 方框输入 2, Label 方框输入 ,按一下 Add 方框。最后再点击 OK 方框 ,如下图。

Figure 22: 产生新变量菜单操作-4

如此就完成了 sex 新变量 的 变量标签变量值标签 的设置。

5 频数分布

最后,我们可以再做一下 sex, class, dep 这三个新变量的频数分布。菜单操作如下图。

Analyse---> Descriptive Statistics---> Frequncies

Figure 23: 频数分布菜单操作-1

Frequencies 窗口中,将左边方框内的 年级[class]学系[dep]性别[sex],这三个变量移到右边方框内,然后点击 OK 方框,如下图。

Figure 24: 频数分布菜单操作-2

这样,三个新变量的频数分布表,就会呈现在输出(output) 窗口了,如以下三个频数表所示。

Figure 25: 频数分布输出结果-1
Figure 26: 频数分布输出结果-2
Figure 27: 频数分布输出结果-3