第2章 数据的建立与管理 ? 掌握SPSS数据文件变量的设置。 ? 掌握SPSS数据文件的数据录入。 ? 掌握数据排序、文件的合并与拆分、选择个案及个案加权的SPSS操作。 ? 掌握计算变量、重新编码及置换缺失值的SPSS操作。 如何建立数据文件是数据统计分析的**步,因为数据是所有统计研究的基础,没有数据,统计分析也就无从谈起,因此,介绍SPSS数据的建立是本章的首要任务。数据建立后通常还不能马上进行统计分析,而是对数据做一些必要的处理后再做分析,这些数据的预处理我们通常叫数据管理。数据的管理是非常有必要的,因为数据建立的过程难免会出现疏漏和差错,这会造成数据统计分析的偏差,严重的甚至导致错误的统计结论。同时因为不同的统计分析方法对数据结构的要求不尽相同,原始数据有时需要做一定的转换后才可分析。在SPSS中,数据文件的管理功能基本上都集中在“数据”和“转换”两个菜单中,前者的功能主要是实现文件级别的数据管理,如个案排序、选择个案、文件合并和拆分等;而后者主要实现数据变量级别的数据管理,如计算新变量、变量取值重编码等,主要与变量数值的转换有关。本章将主要介绍这两个菜单的相应功能。 2.1 数据的建立 在SPSS中建立数据文件大致有两种情况:一种是将原始数据直接录入SPSS;另一种是利用SPSS读取其他数据格式的资料。数据录入就是把每个个案(可以是人也可以是物)的每个指标(也叫变量,即个案的属性)录入到软件中。在录入数据时,大致可归纳为三个步骤:**,定义变量名,即给每个指标起个名字;第二,指定每个变量的各种属性,即对每个指标的一些统计特性作出定义;第三,录入数据,即把每个个案的各指标值录入为电子格式。第二步是我们着重介绍的步骤,即变量的各种属性的设置。 2.1.1 变量的属性 任何一个变量都有相应的变量名与之对应,但为了满足统计分析的需要,除了变量名外,往往还要为每一个变量定义许多附加的变量属性,如变量类型、变量标签、变量值标签等。在变量视图中,SPSS为每个变量指定了11种变量属性,如图2-1所示,下面我们就常用属性的设置做简单的介绍。
图2-1 变量视图
1. 名称的设置 该单元格主要的目的是定义变量名称,SPSS中变量名的定义应符合系统要求,否则无法输入变量。不过读者也不用过分担心自己输入的变量名,因为只要不符合要求的变量名就无法输入变量框,这时系统会给出违背变量名规则等信息提示,读者可以换一种模式输入变量名直到成功为止。当然了解一些输入规则也是有必要的,常见的需要注意的规则如下: (1) 在一个数据文件中变量名必须是**的,不能重名。 (2) 变量名不区分大小写,例如变量A1和a1是同一个变量。 (3) 变量名的长度不可过长。 (4) 首字符必须是字母、汉字或特殊符号@,不能是空格或数字;其后的字符可为字母、数字、中文及特殊符号“.”“$”“@”,但不能为“?”“!”“*”等字符。变量名的首尾都不能是“.”“。”或“-”。 (5) 一些逻辑词语不能作为变量名,如all、and、or、by、to、with、not等。 如果用户不指定变量名,SPSS软件会以VAR开头来命名变量,后面跟五位数字,如VAR00001、VAR00002等。 2. 变量类型的设置 SPSS中的变量有三种基本类型:数值型、字符串型和日期型。根据不同的显示方式,数值型又被细分成了7种,所以SPSS中的变量类型共有9种。在变量视图中选择【类型】单元格时,右侧会出现按钮,单击按钮会打开【变量类型】对话框,如图2-2所示。图的左侧为具体的变量类型,右侧用于进一步定义变量宽度和小数位数等格式。 1) 数值型 在三种基本变量类型中,数值型是SPSS*常用的变量类型。数值型的数据由阿拉伯数字0~9和其他特殊符号,如美元符号、逗号或圆点组成。数值型数据根据内容和显示方式的不同,可以分为标准数值型(即“数字”)、每三位用逗号分隔的数值型(即“逗号”)、每三位用圆点分隔的圆点数值型(即“点”)、科学计数型、显示带美元符号的美元数值型、定制货币和带有前导零的整数(即“受限数字”)7种不同的表示方法。其中,*为常用的应是标准数值型(即“数字”),作为初学者,其他几种数值型变量使用频率较低,如有兴趣可以查阅软件中的帮助信息来了解,在此不过多赘述。 2) 字符串型 字符串也是SPSS中较为常用的数据类型,其变量值是一串字符,字符串变量区分大小写,但字符串变量只能参与一些较为初级的统计分析,大部分的统计分析方法都受到限制,所以一般我们都建议可以转换为数字的资料,尽量转化成数字。 如果变量值前期已经录入为字符,则部分资料可以通过一定的方式转换为数值。阿拉伯数字(即1、2、…)既可以是“数字”型变量也可以是“字符串”型变量,如果变量取值为阿拉伯数字,那么“数字”属性和“字符串”属性两者可以互换,基本上信息能保留完整。如果是汉字这样的字符串变量,将其“字符串”属性修改为“数字”时,文字信息将会丢失。例如,“部门”变量录入数据时的变量值为“生产部”“销售部”“后勤”等字符串,若将其变量类型由“字符串”改为“数字”,则“生产部”“销售部”“后勤”等数据会消失。但若“部门”的取值为数字,如用“1”代表“生产部”,“2”代表“销售部”,“3”代表“后勤”,尽管此时“部门”的变量类型为“字符串”,但将其改为“数字”型时数据还会保留。 3) 日期型 它可以用来表示日期或时间。日期型数据的显示格式有很多,SPSS在对话框右侧会以列表的方式列出各种显示格式以供用户选择。 3. 小数位数的设置 数值型变量默认为2个小数位数,字符型变量自动设置为0。小数点的设置只影响显示的位数,而不影响实际数值。例如0.3456,在小数位为2个时将显示为0.35(自动四舍五入),但其数值大小依然为0.3456而非改为0.35。当变量小数位为2个时,输出结果的均值默认为4个小数位,标准差默认为5个小数位;当变量小数位为0时,则输出结果的均值为2个小数位,标准差为3个小数位。 4. 变量标签的设置 变量标签是对变量名的含义进行注释说明的标记,目的是使人更清楚明确地了解该变量的含义。有时一个变量的全称太长,不适合直接作为变量名,此时就可用简略词语给变量起名,然后在变量标签中附注完整的名称或具体含义。如图2-3所示,“性别”和“年龄”两个变量意思很明确,所以不需要在标签处给出多余的解释,但是变量“Q1”只是一个代号,它的含义是“你对自己目前的经济情况是否满意”,所以如果觉得有必要,可以在【标签】处标识清楚。
图2-3 变量标签的设置 设置变量标签后,在各种统计分析操作的变量列表以及输出结果中,该变量就会以变量标签出现而不是以原变量名出现,如果变量标签比较长,在命令窗口常常只能见到标签,见不到变量名。如图2-4所示,我们看不到“Q1”标识,这给使用者带来了不便。如果不想让变量标签代替原变量名出现,则可以选择【编辑】→【选项】命令,在【选项】对话框【常规】选项卡的【变量列表】选项组中选择【显示名称】单选按钮,如图2-5所示。这时如果我们再打开【频率】对话框,变量的标签就不再显示了,如图2-6所示,这样的设置方便我们选择变量。
图2-5 变量名显示的设置
图2-6 未显示变量标签的【频率】对话框 5. 值标签的设置 由于SPSS只能对数字型数据进行算术统计分析,因此在SPSS中录入的内容以数字为主。但数字本身常常是没有具体意义的,只有在特定的研究项目中才有特定的意义,因而我们需要对变量数据的各种取值的含义进行注释说明,即设置值标签。例如,性别的数据中有“1”和“2”两种取值,具体它们分别代表哪种性别,则需要在值标签中说明,如图2-7所示,“1”代表男,“2”代表女。
图2-7 值标签的设置 当变量取值的含义非常明确时,可以不设置值标签,如“年级”。除此之外,读者还可以只对部分取值设置值标签,而不一定对所有的值设置。需要注意的是,值标签一般是针对离散变量(定类变量和定序变量)设置,连续变量(定距变量和定比变量)不需要设置,因为连续变量的数值可以反映数值大小,有具体的意义。离散变量、连续变量等变量类型的相关知识点我们将在3.1节做详细介绍。 6. 缺失值的设置 缺失值是指某个样本缺少特定变量的数据信息,它将不被纳入各种统计分析中。SPSS中的缺失值有系统缺失值和用户缺失值两大类。 1) 系统缺失值 当变量中某个样本没有提供信息或者提供的是非法格式的信息时,系统自动将其设置为缺失值。在SPSS中,对于数值型变量数据,系统缺失值默认用“.”表示,而字符串型变量就是空字符串。 2) 用户缺失值 用户缺失值是指用户根据特定目的设置的、自己能够识别的数值,不像系统缺失值那样统一将缺失值都默认为“.”。例如,不符合题目要求的答案,不适合某项统计分析条件的数值、录入错误的数据等。一般用特殊的数字表示,如“99”“98”等。设置用户缺失值可以适当保留原始信息,同时又避免错误数据被纳入统计分析而造成结果偏差。在变量视图中,单击【缺失】下面的单元格,出现按钮,单击按钮弹出【缺失值】对话框,有三种方式可供定义用户缺失值,如图2-8所示。 (1) 无缺失值:默认为没有用户缺失值,只有系统缺失值。 (2) 离散缺失值:缺失值是1~3个不连续的数值。 (3) 范围加上一个可选的离散缺失值:缺失值是一个区间范围,且还可以设置某个离散的缺失值。 7. 变量测量水平的设置 变量根据测量的水平高低可以分为定类、定序、定距和定比四类,不同测量水平的变量只能使用与之对应的统计学方法,我们将在3.1节对这四类变量做详细讲解。SPSS系统默认有三类变量,即名义、有序和标度,名义型变量其实就是定类变量,有序型变量就是定序变量,而刻度型变量对应的是定距和定比这样的连续型变量。 8. 变量属性的复制 如果我们需要复制某个变量的某个属性,直接右击要复制的变量的某个属性,然后选择“复制”和“粘贴”命令到新变量对应的属性中即可,这和一般的复制粘贴过程是一样的。 如果我们需要建立一份新的数据,需要用到已有数据的全部变量或者部分变量,可以通过批量复制数据属性完成,在新数据中选择【数据】菜单的【复制数据属性】命令,按照指令执行即可,过程并不复杂,感兴趣的读者可以自己尝试操作。