第三章SPSS数据的预处理为什么要进行数据的预处理在数据文件建立之后,通常还需要对分析的数据进行必要的预加工处理,这是数据分析过程中必不可少的一个关键步骤。数据的预加工处理服务于数据分析和建模,主要包括以下几个方面数据的排序变量计算数据选取计数分类汇总数据分组数据预处理的其他功能:转置、加权、数据拆分、缺失值处理、数据排秩、定义变量集。3.1数据的排序(1)SPSS的数据排序是将数据编辑窗口中的数据按照某个或多个指定变量的变量值升序或降序重新排列。(2)这里的变量也称为排序变量。排序变量只有一个时,排序称为单值排序。排序变量有多个时,排序称为多重排序。(3)多重排序中,第一个指定的排序变量称为主排序变量,其他依次指定的变量分别称为第二排序变量、第三排序变量等。(1)数据排序便于数据的浏览,有助于了解数据的取值状况、缺失值数量的多少等;(2)通过数据排序能够快捷的找到数据的最大值和最小值,进而可以计算出数据的全距,初步把握和比较数据的离散程度;(3)通过数据排序能够快捷地发现数据的异常值,为进一步明确它们是否会对分析产生重要影响提供帮助。3.1.1数据排序的作用SPSS数据排序的基本操作步骤(1)选择菜单Data-SortCases(2)将主排序变量从左边的列表中选到Sortby框中,并在SortOrder框中选择按该变量的升序还是降序排序。(3)如果是多重排序,还要一次指定第二、第三排序变量及相应的排序规则。3.1.2数据排序的基本操作在左边的源变量框中选择排序变量进入Sortby框。如果选择2个以上的变量,观测量的排序结果与排序变量在Sortby框中的顺序有关。列于首位的为第一排序变量。在SortOrder栏内选择排序方式——升序与降序1.数据排序是整行数据排序,而不是只对某列变量排序;2.多重排序中指定排序变量的次序很关键。先指定的变量优先于后指定的变量。多重排序可以在按某个变量值升序(或降序)排序的同时再按其他变量值降序(或升序)排序;3.数据排序后,原有数据的排序次序必然被打乱,应保存原始数据。说明数据排序应用举例利用住房状况调查数据,通过数据排序功能分别找到本市户口和外地户口住户现住面积的最大值和最小值:分析:(1)多重排序(2)主排序变量:户口状况第二排序变量:现住面积3.2变量计算(1)数据的转换处理在原有数据的基础上,计算产生一些含有更丰富信息的新数据。例如根据职工的基本工资、失业保险、奖金等数据,计算实际月收入,这些新变量具有更直观更有效的特点。(2)对数据的原有分布状态进行转换对原有数据的分布进行转换,以满足建模中某些模型对数据分布的要求。非正态或非线性数据的处理时间序列平稳化处理标准化处理…3.2.1变量计算的目的SPSS变量计算是在原有数据的基础上,根据用户给出的SPSS算术表达式以及函数,对所有个案或满足条件的部分个案,计算产生一系列新变量。(1)变量计算是针对所有个案(或指定的部分个案)的,每个个案都有自己的计算结果。(2)变量计算的结果应保存到一个指定变量中,该变量的数据类型应与计算结果的数据类型相一致。在变量计算过程中涉及到几个概念:SPSS算数表达式、SPSS条件表达式和SPSS函数。指出按照什么方法计算变量;SPSS算术表达式(NumericExpression)是由常量、变量、算术运算符、圆括号、函数等组成的式子。•字符型常量应当用引号括起来•变量是指那些已存在于数据编辑窗口中的原有变量•算术运算符主要包括+、-、*、/、**(乘方)•在同一算术表达式中的常量及变量,数据类型应该一致,否则无法计算3.2.2SPSS算术表达式在变量计算中通常要求对不同的个案分别按照不同的方法进行计算,于是就需要通过一定的方式来指定个案;SPSS条件表达式是一个对条件进行判断的式子。其结果有两种取值:如果判断条件成立,则结果为真;如果判断条件不成立,则结果为假。条件表达式包括简单条件表达式和复合条件表达式。3.2.3SPSS条件表达式(1)简单条件表达式由关系运算符、常量、变量以及算术表达式等组成的式子。其中关系运算符包括、、=、~=(不等于)、=、=。(2)复合条件表达式①又称逻辑表达式,是由逻辑运算符号、圆括号和简单条件表达式等组成的式子。②逻辑运算符号包括&或AND(并且)、|或OR(或者)、~或NOT(非)。③NOT的运算优先级最高,其次是AND,最低是OR。④可以通过圆括号改变运算的优先级。(年龄=35)andnot(职称3)(1)SPSS函数是事先编好并存储在SPSS软件中,能够实现某些特定计算任务的一段计算机程序。这些程序都有各自的名字称为函数名。执行这些程序段得到的计算结果称为函数值。(2)函数书写的具体形式为:函数名(参数)函数名是SPSS已规定的参数可以是常量(字符型常量用引号引起)、变量或算术表达式;参数可以是一个,也可以是多个,各参数间用逗号分隔。3.2.4SPSS函数(3)SPSS函数大致可以分成八大类:算术函数:完成特定的算术计算功能。P64统计函数:计算基本的描述统计量。P64分布函数:产生一个服从某种统计分布的随机数序列。P65逻辑函数:用于逻辑判断。P66字符串函数:对字符型数据进行处理。P66缺失值函数:用于判断缺失值。P67日期函数:对日期进行处理。P67其他函数:一些辅助函数。P68(1)选择菜单Transform-Compute,弹出ComputeVariable对话框如下:3.2.5变量计算的基本操作(2)在Target框中输入存放计算结果的变量名。①该变量可以是一个新变量,也可以是已经存在的变量。②如果指定存放计算结果的变量为新变量,SPSS会自动创建它;如果指定产生的变量已经存在,SPSS会提问是否以计算结果覆盖原有值。③新的变量默认为数值型,用户可以根据需要单击Type&Label按钮修改,还可以对新变量加变量名标签。(3)在NumericExpression框给出SPSS算术表达式。可以手工输入,也可以按窗口的按钮以及函数下拉菜单输入。(4)如果希望对符合一定条件的个案进行变量计算,则单击If按钮,出现下面的窗口,选择Includeifcasesatisfiescondition选项,然后输入条件表达式。对不满足条件的个案,将不进行变量值计算,对新变量取值为系统缺失值。1.利用职工基本情况数据,依据职称级别计算实发工资。实发工资等于基本工资,依据职称1至4等级分别上调5%,3%,2%,1%。分析:(1)基本工资*系数(2)选择“IF”按钮,对不同职称的职工分别计算实发工资。3.2.6变量计算的应用举例3.3数据选取(1)数据选取就是根据分析的需要,从已收集到的大批量数据(总体)中按照一定的规则抽取部分数据(样本)参与分析的过程,通常也称为抽样。抽样的作用①提高数据分析效率②检验模型的需要(2)SPSS可根据指定的抽样方法从数据编辑窗口中选出部分样本以实现数据选取,这样后面的分析操作就只针对选出的数据,直到用户取消这种选取为止。(1)选取全部数据(Allcases)(2)按指定条件选取(Ifconditionissatisfied)SPSS要求用户以条件表达式给出数据选取的条件,SPSS将自动对数据编辑窗口中的所有个案进行条件判断。那些满足条件的个案,即条件判断为真的个案将被自动选取出来,而那些条件判断为假的个案则不被选中。3.3.1数据选取的基本方式(3)随机抽样(Randomsampleofcases),对数据编辑窗口中的所有个案进行随机筛选,包括如下两种方式:①近似抽样(Approximately)近似抽样要求用户给出一个百分比数值,SPSS将按照这个比例自动从数据编辑窗口中随机抽取相应百分比数目的个案。[注]:由于SPSS在样本抽样方面的技术特点,抽取出的个案总数不一定恰好精确地等于用户指定的百分比数目,会有小的偏差(此偏差不会对数据分析产生重要影响),因而称为近似抽样。②精确抽样(Exactly)精确抽样要求用户给出两个参数。第一个参数是希望选取的个案数,第二个参数是指定在前几个个案中选取。SPSS自动在数据编辑窗口的前若干个个案中随机精确地抽出相应个数的个案来。(4)选取某一区域内的样本(Basedontimeorcaserange)即选取数据编辑窗口中样本号在指定范围内的所有个案,要求给出这个范围的上、下界个案号码。这种抽样方法适用于时间序列数据。(5)通过过滤变量选取样本(Usefiltervariable)即依据过滤变量的取值进行样本选取。要求指定一个变量作为过滤变量,变量值为非0或非系统缺失值的个案将被选中。这种方法通常用于排除包含系统缺失值的个案。说明:(1)完成数据选取后,以后的SPSS分析操作仅针对那些被选中的个案直到用户再次改变数据的选取为止。(2)采用指定条件选取和随机抽样方法进行数据选取后,SPSS将在数据编辑窗口中自动生成一个名为filter_$的新变量,取值为1或0。1表示本个案被选中,0表示未被选中。该变量是SPSS产生的中间变量,如果删除它则自动取消样本抽样。(1)选择菜单Data—Selectcases(2)根据分析需要选择数据选取方法(3)Unselectedcasesare指定对未选中个案的处理方式•Filtered表示在未被选中的个案号码上打一个“/”标记;•Deleted表示将未被选中的个案从数据编辑窗口中删除。3.3.2数据选取的基本操作SelectCases对话框Filtered:未被选中的个案号码上打一个“\”标记deleted:未被选中的个案删除利用住房状况调查数据,根据不同的分析要求采用不同的数据选取方法抽样:(1)只希望分析本市户口的住房状况。可以通过数据选择功能采用指定条件的抽样方法进行抽样;(2)只希望对其中的70%的数据进行分析。可通过数据选择功能采用随机抽样中的近似抽样方法进行抽样。3.3.4数据选取的应用举例3.4计数3.4.1计数目的(1)SPSS实现的计数是对所有个案或满足某条件的部分个案,计算若干变量中有几个变量的值落在指定的区间内,并将计数结果存入一个新变量中的过程。(2)例如对大学毕业班学生的成绩进行综合测评时,可以依次计算每个学生的若干门课程中有几门课程得了优,有几门课程得了良,有几门课程不及格。(3)SPSS实现计数的关键步骤是:①指定哪些变量参与计数,计数的结果存入哪个新变量中②指定计数区间(尤为关键)SPSS中的计数区间可以有以下几种描述形式:单个变量值(Value)系统缺失值(System-missing)系统缺失值或用户缺失值(Systemoruser-missing)给定最大值和最小值的区间(nthroughm)小于等于某指定值的区间(Lowestthroughn)大于等于某指定值的区间(nthroughhighest)3.4.2计数区间(1)上述后三个计数区间很容易理解。例如评价学生成绩,成绩为优的计数区间可以指定为90throughhighest,成绩为良的计数区间指定为80through89,不及格的计数区间指定为Lowestthrough59。(2)前三个计数区间实际上是一些离散的数据点,严格讲并不是区间,但SPSS仍将其归在广义区间的范畴内,目的是方便一些其他的应用。(1)选择菜单Transform-Count,出现如下窗口:3.4.3计数的基本操作(2)将参与计数的变量选到Variables框中(3)在TargetVariable框中输入存放计数结果的变量名,并在TargetLabel框中输入相应的变量名标签。(4)单击DefineValues按钮定义计数区间,出现如下图窗口:通过单击Add、Change、Remove按钮完成计数区间的增加、修改和删除。(5)如果仅希望对满足某条件的个案进行计数,则单击If按钮并输入相应的SPSS条件表达式。否则,本步可略去。利用住房状况调查数据分析被调查家庭中有多少比例的家庭对目前的住房满意且今后三年不准备买房。分析:(1)参与计