在数据收集或录入过程中,可能会出现未能获取有效数据的情况。例如,受访者可能对某些问题未作回答,或提供了非预期格式的答案。这类数据既不属于有效观测值,也不具备实际分析意义。如果处理不当,可能会对统计结果造成偏差甚至导致结论失真。
SPSS 中的【缺失值】功能用于将特定的数据取值定义为用户缺失值。被指定为用户缺失值的观测会被系统标记为特殊值,并在大多数统计计算中自动排除,从而避免对分析结果产生干扰。
此外,用户缺失值的设置会随数据文件一同保存。也就是说,在以后再次打开该数据文件时,无需重新进行缺失值定义,系统将自动沿用原有设置。
一、数值变量的缺失值
在SPSS中,可以为数值型变量明确指定缺失值,这样在分析和计算时SPSS会将这些值视为缺失,不参与统计运算。
在SPSS中,数值变量的缺失值分两类:
- 系统缺失值:由程序自动标识的缺失情况例如,当数值型字段为空、数据类型验证失败或计算表达式未定义时,系统会将其自动标记为缺失。在数据编辑器中,此类值通常显示为一个点(.)。系统缺失值不会参与后续的统计分析。
- 用户定义缺失值:由用户明确指定的一个或多个数值(或数值范围),用以代表缺失状态。常见的示例包括用99、-1、0等特定数值表示不同原因的缺失。这些被用户定义为缺失的值在绝大多数统计分析中也会被自动排除。
为数值变量定义用户缺失值:
打开示例数据【handle_missing_data.sav】,在「数据视图」窗口双击需要定义缺失值的变量名,或者直接点击底部的「变量视图」选项卡进行切换。
在「变量视图」窗口中找到目标变量(本次为age变量),在该变量所在行的「缺失」列单击「...」按钮,在弹出的缺失值对话框中指定缺失值,有以下三种方式:
- 离散缺失值:输入一个或多个具体数值(最多可设置 3 个单独取值),这些取值将被视为缺失。
- 缺失值范围:输入一个数值区间(如 90–99),表示该区间内的所有取值均被视为缺失。
- 缺失值范围 + 一个离散值:可同时设置一个数值范围(如90–99)和一个该范围之外的单独数值(例如0),二者均会被标记为缺失。
通过以上设置,可以灵活地将不同形式的无效数据统一定义为缺失值,从而避免其对统计分析结果产生影响。

此时已为变量设置了缺失值,接下来可以为该缺失值设置对应的标签,以便更直观地识别哪些变量取值表示缺失,从而提高数据整理与分析的可读性和规范性。
在「变量视图」中,单击目标变量(本例为 age 变量)所在行的「值」单元格,再单击该单元格右侧的按钮,打开“值标签”对话框,并进行如下设置:
- 在「值」字段中输入「999」;
- 在「标签」字段中输入「No Response」;
- 设置完成后,单击「添加」按钮,将该标签保存到数据文件中。

单击确定保存更改,此时在「数据视图」窗口再次输入999时会自动识别为缺失值并显示为值标签。

二、字符串变量的缺失值
缺失值设置不仅适用于数值变量,也可用于字符串变量。但与数值变量不同,字符串变量没有系统缺失值。
在默认情况下,空字符串或空白内容并不会像数值变量的系统缺失值那样被显示为点号(.),而是被解释为长度为零的字符串值。因此,除非显式将其指定为缺失,否则所有字符串值(包括空值与空白)在SPSS中均被视作有效数据。
为字符串变量指定缺失值
在「变量视图」窗口中找到目标变量(本次为sex变量),在该变量所在行的「缺失」列单击「...」按钮,在弹出的缺失值对话框中设置缺失值:
- 选择定义方式:由于字符串变量不支持范围定义,因此只能选择「离散缺失值」选项。
- 输入缺失值:在输入框中输入需要视为缺失的具体字符串取值,例如用NR表示No Response。需要注意的是:
- ①、区分大小写:字符串型缺失值区分大小写,因此,NR与nr会被视为两个不同的取值。
- ②、长度限制:定义的缺失值长度不能超过8个字节(字符串变量本身的定义宽度可以更长,但缺失值内容不得超过此限制)。
- ③、定义空值为缺失:若要将空值或空字符串定义为缺失,可在输入框中输入一个空格。
完成设置后,点击确定保存设置。

完成以上设置后,也可以为其添加值标签,以便清晰地辨别哪些字符串表示缺失。

