第二章SPSS的数据管理
统计分析离不开数据,因此数据管理是SPSS的重要组成部分。详细了解SPSS的数据管理方法,将有助于用户提高工作效率。SPSS的数据管理是借助于数据管理窗口和主窗口的File、Data、Transform等菜单完成的。
第一节 数据的输入
2.1.1 变量的定义
先激活数据管理窗口,然后选Data菜单的Define
Variable...命令项,弹出Define Variable对话框(见图1.1),在Variable
Name:框内输入变量名,如本例为x1。
图1.1 变量定义对话框 |
2.1.2
数据格式化
在Define Variable对话框中点击Type...钮,弹出Define Variable
Type对话框(如图1.2所示),用户可根据具体资料的属性对数据进行格式化。Define Variable
Type对话框中列出如下7种数据类型:
图1.2 定义变量类型对话框 |
1、Numeric:数值型,同时定义数值的宽度(Width),即整数部分+小数点+小数部分的位数,默认为8位;定义小数位数(Decimal
Places),默认为2位。
2、Comma:加显逗号的数值型,即整数部分每3位数加一逗号,其余定义方式同数值型。
3、Dot:3位加点数值型,无论数值大小,均以整数形式显示,每3位加一小点(但不是小数点),可定义小数位置,但都显示0,且小数点用逗号表示。如1.2345显示为
12.345,00(实际是12345E-4).
4、Scientific notation:科学记数型,同时定义数值宽度(Width)和小数位数(Decimal
Places),在数据管理窗口中以指数形式显示。如 定义数值宽度为9,小数位数为2,则345.678
显示为3.46E+02。
5、Date:日期型,用户可从系统提供的日期显示形式中选择自己需要的。如选择mm/dd/yy形式,则1995年6月25日显示为06/25/95。
6、Dollar:货币型,用户可从系统提供的日期显示形式中选择自己需要的,并定义数值宽度和小数位数,显示形式为数值前有$。
7、Custom
currency:常用型,显示为整数部分每3位加一逗号,用户可定义数值宽度和小数位数。如12345.678显示为12,345.678。
8、String:字符型,用户可定义字符长度(Characters)以便输入字符。
用户选择完毕可点击Continue钮返回Define Variable对话框。
2.1.3
数据的输入
定义好变量并格式化数据之后,即可向数据管理窗口键入原始数据。数据管理窗口的主要部分就是电子表格,横方向为电子表格的行,其行头以1、2、3、……表示,即第1、2、3、……行;纵方向为电子表格的列,其列头以var00001,var00002,var00003……表示变量名。行列交叉处称为单元格,即保存数据的空格。鼠标一旦移入电子表格内即呈十字形,这时按鼠标左键可激活单元格,被激活的单元格以加粗的边框显示;用户也可以按方向键上下左右移动来激活单元格。单元格被激活后,用户即可向其中输入新数据或修改已有的数据。图1.3所示即为一个已输入数据的数据管理窗口。为方便起见,用户亦可省略定义变量和数据格式化两个步骤,一启动SPSS即向数据管理窗口中键入原始数据,这时,变量名默认为var00001,var00002,var00003……
图1.3 数据管理器 |
2.1.4
缺失值处理
在实际工作中,因各种原因会出现数值缺失现象,为此,SPSS提供缺失值处理技术。在Define Variable对话框中点击Missing Value...钮,弹出Define
Missing Values对话框(图1.4),用户有4个可选项:
图1.4 缺失值定义对话框 |
1、No missing values:没有缺失值;
2、Discrete missing
values:可定义1-3个。如测量身高(厘米)的资料,可定义999为缺失值;性别的资料(男为1、女为2),可定义-1为缺失值;
3、Range of missing
values:可定义缺失值的范围。如脉搏资料,可定义0—9为缺失值;
4、Range plus one discrete missing
value:可定义缺失值的范围,同时定义另外1个不是这一范围的缺失值。如定义0—9为脉搏的缺失值,同时定义999为身高的缺失值。
2.1.5
变量标签
在Define
Variable对话框中点击Labels...钮,弹出Define
Labels对话框(图1.5),用户可定义变量标签和特定变量值的标签。如定义变量hb的标签为“血红蛋白值”,同时定义12.36为“正常”,则可在Define Labels对话框中的Variable
Label处输入变量标签名,在 Value Labels 框中的Value处指定变量值,在 Value
Label处输入变量值标签,点击Add钮表示加入这种标签定义,点击Change表示更改原有标签,用户重新定义,点击Remove钮表示取消原有标签。
图1.5 定义标签对话框 |
2.1.6
数据管理器列宽定义
在Define
Variable对话框中点击Column Format...钮,弹出Define Column
Format对话框(图1.6),用户可定义数据管理器纵列的宽度,以便显示较长的数值或文字;同时用户还可指定数值或文字在数据管理器单元格中的位置:Left表示靠左、Center表示居中、Right表示靠右(此为默认方式)。
图1.6 列宽格式定义对话框 |
第二节 数据的编辑
输入的原始数据,经常在统计分析前或统计分析过程中,需要作一些特殊的处理。为此,系统提供了如下主要方法。
2.2.1 数据的增删
2.2.1.1 增加一个新的变量列
例如要在第2列前增加一个新的列,使原来的第2列右移变成第3列,则可先激活第2列的任一单元格,然后选Data菜单的Insert
Variable命令项,系统自动为用户在第2列前插入一个新的变量列,原第2列自动向右移一列成为第3列。
2.2.1.2 增加一个新的观察单位(即增加一个新的行)
例如要在第6个观察单位前增加一个观察单位(亦即在第6行前增加一行,使原来的第6行下移成为第7行),则可先激活第6行的任一单元格,然后选Data菜单的Insert
Case命令项,系统自动为用户在第6行前插入一个新的行,原第6行列自动向下移一行成为第7行。
2.2.1.3 增加一个新的观察值
例如由于输入错误,造成第7个观察单位的第4个变量值漏输,结果第8个观察单位的第4个变量值误为第7个观察单位的第4个变量值,这样的情形使得数据管理器中的第4个变量值从第7行起全部上移,而合计例数少一个。于是希望在第7行的第4列处插入1个单元格,原有数据依次下移恢复正常。可先将鼠标指向在第7行第4列交叉处的单元格,然后按住鼠标左键向下拖动鼠标直至第4列从第7行起的所有数据被选中(黑底白字),选Edit菜单的Cut命令项,选中的数据被剪切入剪贴板,再激活第8行第4列交叉处的单元格,选Edit菜单的Paste命令项,可将剪贴板中的原第7行起的所有数据下移自第8行开始,并空出第7行第4列的单元格以便补入漏输的数值。
2.2.1.4 删除一个行
例如要删除第9行(即删除这个观察单位的所有观察值),则可先点击第9行的行头,这时整个第9行被选中(呈黑底白字状),然后按Delete键或选Edit菜单的Clear命令项,该行即被删除。
2.2.1.5 删除一个变量列
例如要删除第4个变量列,则可先点击第4列的列头,这时整个第4列被选中(呈黑底白字状),然后按Delete键或选Edit菜单的Clear命令项,该列即被删除。
2.2.1.6 删除一个观察值
例如由于输入错误,造成第6个观察单位的第2个变量值重复输入,结果第7个观察单位的第2个变量值误为第6个观察单位的第2个变量值,第8个观察单位的第2个变量值误为第7个观察单位的第2个变量值,……,这样的情形使得数据管理器中的第2个变量值从第7行起全部下移,而合计例数多一个。于是希望将第7行第2列的单元格删除,原有数据依次上移恢复正常。可先将鼠标指向在第8行第2列交叉处的单元格,然后按住鼠标左键向下拖动鼠标直至第2列从第8行起的所有数据被选中(黑底白字),选Edit菜单的Cut命令项,选中的数据被剪切入剪贴板,再激活第7行第2列交叉处的单元格,按Del键删除该单元格的数值,选Edit菜单的Paste命令项,可将剪贴板中的原第8行起的所有数据上移自第7行开始,既填补第7行第2列的单元格,又恢复原有下移的数值。
2.2.2
数据的整理
2.2.2.1 数据的排序
用户可按要求对数据管理器的数据进行排序。选Data菜单的Sort Cases...命令项,弹出Sort
Cases...对话框(图1.7),在变量名列框中选1个需要按其数值大小排序的变量(用户也可选多个变量,系统将按变量选择的先后逐级依次排序),点击Ø钮使之进入Sort by框,然后在Sort
Order框中确定是按升序(Ascending,从小到大)或降序(Descending,从大到小),点击OK钮即可。
图1.7 排序对话框 |
2.2.2.2数据的行列互换
有时,用户需要将数据管理器中原先按行(列)方向排列的数据转换成按列(行)方向排列的数据,这时可选Data菜单的Transpose...命令项,弹出Transpose...对话框(图1.8),在变量名列框中选1个或多个需要转换的变量,点击Ø钮使之进入Variable(s)框,再点击OK钮即可。产生的新数据会在第1列出现一个case_lbl新变量,用于放置原来数值的变量名。若要将数据再转换回原来的排列方式,方法与上述过程相同。
图1.8 行列互换框 |
2.2.2.3 数据的分组汇总
用户还可对数据管理器中的数据按指定变量的数值进行归类分组汇总,汇总的形式十分多样。例如,要对下列数据(图1.9)按变量group的大小,把变量x1作平均值汇总、把变量x2作求和汇总。选Data菜单的Aggregate...命令项,弹出Aggregate
Data对话框(图1.10),在变量名列框中选group变量,点击Ø钮使之进入Break
Variable(s)框,选x1变量进入Aggregate Variable(s)框,因x1欲作平均值汇总,故点击Function...钮弹出Aggregate
Data: Aggregate Function对话框(图1.11)选Mean of values项点击Continue钮返回;选x2变量进入Aggregate
Variable(s)框,因x2变量欲作求和汇总,故点击Function...钮选Sum of
values项点击Continue钮返回。再点击OK钮即可。结果如图1.12所示。
图1.9 欲作分组汇总的原始数据 |
图1.10 分组汇总对话框 |
图1.11 分组汇总的函数功能对话框 |
图1.12 分组汇总后的数据 |
分组汇总提供的函数形式有:
1、Mean of values:求该组的平均值;
2、Standard deviation:求该组的标准差;
3、First value:只保留该组的第1个数值;
4、Minimum value:只保留该组的最小值;
5、Last value:只保留该组的最后1个数值;
6、Maximum value:只保留该组的最大值;
7、Number of cases:合计该组的观察例数;
8、Sum of values :求该组所有观察值的和。
9、Percentage above
:先确定1个数值,求大于该数值的所有例数占总例数的百分比(0-100%);
10、Percentage
below:先确定1个数值,求小于该数值的所有例数占总例数的百分比(0-100%);
11、Fraction
above:先确定1个数值,求大于该数值的所有例数占总例数的百分比(0-1);
12、Fraction
below:先确定1个数值,求小于该数值的所有例数占总例数的百分比(0-1);
13、Percentage
inside:先确定1个下限,再确定1个上限,求数值在该区间内的例数占总例数的百分比(0-100%);
14、Percentage
outside:先确定1个下限,再确定1个上限,求数值在该区间外的例数占总例数的百分比(0-100%);
15、Fraction
inside:先确定1个下限,再确定1个上限,求数值在该区间内的例数占总例数的百分比(0-1);
16、Fraction outside:先确定1个下限,再确定1个上限,求数值在该区间外的例数占总例数的百分比(0-1)。
2.2.2.4 数据的分割
数据也可根据需要,事先按用户的指定作分组(这种分组是系统内定义的,在数据管理器中并不一定明确体现,故亦可称之为分割),此后的所有分析都将按这种分组进行,除非取消数据分割的命令。选Data菜单的Split File...命令项,弹出Split File对话框(图1.13),选Repeat analysis for
each group表示此后都按指定的分组方式作相同项目的分析,用户可从变量名列框中选1个或多个变量点击Ø钮使之进入Groups Based
on框来作分组的依据。若在数据分割之后要取消这种分组,可选Analyze all
cases项,则系统恢复如初。
调用Split
File命令完成定义后,SPSS将在主窗口的最下面状态行中显示Split File
On字样;若调用该命令后的数据库被用户存盘,则当这个数据文件再次打开使用时,仍会显示Split File
On字样,意味着数据分割命令依然有效。
图1.13 数据分割对话框 |
2.2.2.5 数据的选择
除按要求作数据分组分别作分析外(但这依然是将所有的资料全部代入分析),还可从所有资料中选择一些数据进行统计分析。选Data菜单的Select Cases...命令项,弹出Select
Cases对话框(图1.14),系统提供如下几种选择方法:
图1.14 数据选择对话框 |
1、All
cases:表示所有的观察例数都被选择,该选项可用于解除先前的选择;
2、If condition is satisfied:表示按指定条件选择,点击If...钮,弹出Select
Cases:If对话框(图1.15),先选择变量,然后定义条件;
3、Random sample of cases:表示对观察单位进行随机抽样,点击Sample...钮,弹出Select Cases:Random
Sample对话框,有两种选择分式,一是大概抽样(Approximately)即键入抽样比例后由系统随机抽取,另一是精确抽样(Exactly)即要求从第几个观察值起抽取多少个;
4、Based on time or case range:表示顺序抽样,点击Range...钮,弹出Select
Cases:Range对话框,用户定义从第几个观察值抽到第几个观察值;
5、Use filter
variable:表示用指定的变量作过滤,用户先选择1个变量,系统自动在数据管理器中将该变量值为0的观察单位标上删除标记,系统对有删除标记的观察单位不作分析。若用户在Select
Cases对话框的Unselected Cases Are框中选Deleted项,则系统将删除所有被标上删除标记的观察单位。
调用Select Cases命令完成定义后,SPSS将在主窗口的最下面状态行中显示Filter
On字样;若调用该命令后的数据库被用户存盘,则当这个数据文件再次打开使用时,仍会显示Filter
On字样,意味着数据选择命令依然有效。
图1.15 选择条件对话框 |
2.2.2.6 观察单位的秩次确定
为了解在指定条件下某个或某些变量值的大小顺序,可选Transform菜单的Rank Cases...命令项,弹出Rank
Cases对话框(图1.16),从变量名列框中选1个或多个变量点击Ø钮使之进入Variable(s)框作为按该变量值大小排序的依据。若选1个或多个变量使之进入By框,则系统在排序时将按进入By框的变量值分组排序。排序的结果将在数据管理器中新建1个变量名为原排序变量前加一特定排序类型字母(如原变量为x,则普通排序时变量为rx)的变量用于放置秩次。用户可在Rank
Cases对话框的Assign Rank 1 to框中指定秩次排列方式:Smallest
value表示最小值用1标注,之后为2、3、4……;Largest value表示最大值用1标注,之后为2、3、4……。
图1.16 观察单位排序对话框 |
若点击Rank Cases对话框的Rank Types...钮,可选择排序类型(图1.17):
1、Rank:普通秩次,排序类型字母r;
2、Fractional Rank as percent;累积百分秩次,排序类型字母p;
3、Savage score:以指数分布为基础的原始分秩次,排序类型字母s;
4、Sum of case weights:分组例数之和的权重秩次,排序类型字母n;
5、Fractional Rank:分组例数之和占总例数累积百分比秩次,排序类型字母r;
6、Ntiles:先给定一个大于1的整数,系统按此数范围确定排序的秩次,排序类型字母n。
图1.17 观察单位排序类型对话框 |
2.2.3
数据的算术处理
2.2.3.1 变量的加权
选Data菜单的Weight
Cases...命令项,可对指定的数值变量进行加权。在弹出的Weight Cases对话框中(图1.18),Do not weight
cases表示不做加权,这可用于对做过加权的变量取消加权;Weight cases
by表示选择1个变量做加权。在加权操作中,系统只对数值变量进行有效加权,即大于0的数按变量的实际值加权,0、负数和缺失值加权为0。
加权操作在c2
检验中是必不可少的,且一旦该变量做过加权操作,那么,一方面系统自动根据用户对已加权变量值的修改做加权变换,另一方面用户除非取消加权,否则即使改变变量名,系统依然对该变量进行加权操作。
调用Weight
Cases命令完成定义后,SPSS将在主窗口的最下面状态行中显示Weight
On字样;若调用该命令后的数据库被用户存盘,则当这个数据文件再次打开使用时,仍会显示Weight
On字样,意味着数据加权命令依然有效。
图1.18 数据加权对话框 |
2.2.3.2 数据的运算与新变量的生成
选Transform菜单的Compute...命令项,既可对选定的变量进行运算操作,又可通过运算操作让系统生成新的变量。在弹出的Compute
Variable对话框中(图1.19),用户首先在Target
Variable指定一个变量(可以是数据管理器中已有的变量,也可是用户欲生成的新变量),然后点击Type&Label...钮确定是数值型变量,还是字符型变量,或加上变量标签。在Numeric
Expression框中键入运算公式,系统提供计算器和82种函数(在Functions框内)让用户使用;若点击If...钮会弹出Compute
Variable:If
Cases对话框(类似于图1.15的选择条件对话框),用户可指定符合条件的变量参与运算。
如本例是要求系统生成一个新变量x1,x1 =
x的绝对值+y-0.123×z。点击OK钮即可。结果在数据管理器中产生一个新变量x1。
图1.19 数据运算对话框 |
2.2.3.3 变量值个数的清点
对于数值型变量,某个或某些值在各观察单位中的出现次数可以作清点。选Transform菜单的Count...命令项,在弹出的CountOccurrences of Value within
Cases对话框中(图1.20),先在Target
Variable指定一个变量(可以是数据管理器中已有的变量,也可是用户欲生成的新变量),然后指定需要清点的变量,即在变量名列中选择1个或多个变量点击Ø钮使之进入Numeric Variable(s)框,再点击Define
Values...钮,弹出Count Value within Cases:Value to
Count对话框,确定哪些数值作为清点对象。选Value表示单一数值为清点对象;选System-missing或System-or user
missing表示系统或用户指定的缺失值为清点对象;选Range表示指定数值范围为清点对象。还可点击If...钮指定条件来确定参与清点的观察单位。
图1.20 数值清点对话框 |
2.2.3.4 变量的重新赋值
在数据管理器中,用户可对各单元的数值重新赋予新值。这种操作只适用于数值型变量。选Transform菜单的Recode命令项,此时有两种选择:一是对变量自身重新赋值(Into Same
Variables...),一是对其它变量或新生成的变量进行赋值(Into Different
Variables...)。若选第一种赋值方法,在弹出的Recode into Same
Variables对话框中(图1.21),先在变量名列中选1个或多个变量点击Ø钮使之进入Numeric Variables框,然后点击Old and New
Values...钮弹出Recode into Same Variables:Old and New
Value对话框,用户根据实际情况确定旧值和新值,点击Continue钮返回,再点击OK钮即可。若选第二种赋值方法,在弹出的Recode into
Different Variables对话框中(图1.22),先在变量名列中选1个或多个变量点击Ø钮使之进入Numeric
VariableàOutput Variable框,同时在Output
Variable框确定一赋值变量(可以是数据管理器中已有的变量,也可以是用户要求生成的新变量),然后点击Old and New
Values...钮弹出Recode into Different Variables:Old and New
Value对话框,用户根据实际情况确定旧值和新值,点击Continue钮返回,再点击OK钮即可。
在两种赋值情况下,用户均可点击If...钮指定条件来确定参与清点的观察单位。
与Compute方法不同的是:Recode方法不能进行运算,只能根据指定变量值作数值转换,且这种转换是单一数值的转换。
图1.21 自身变量赋值对话框 |
图1.22 非自身变量赋值对话框 |
2.2.3.5
缺失值的替代
对于缺失值,可采取多种手段进行科学替代。选Transform菜单的Replace Missing Values...命令项,在弹出的Replace Missing Values
对话框中(图1.23),先在变量名列中选1个或多个存在缺失值的变量点击Ø钮使之进入New
Variable(s)框,这时系统自动产生用于替代缺失值的新变量,用户也可在Name框处自己定义替代缺失值的新变量名。然后点击Method的下箭头选择缺失值的替代方式:
图1.23 数值清点对话框 |
1、Series
mean:用该变量的所有非缺失值的均数做替代;
2、Mean of nearby
points:用缺失值相邻点的非缺失值的均数做替代,取多少个相邻点可任意定义;
3、Median of nearby
points:用缺失值相邻点的非缺失值的中位数做替代,取多少个相邻点可任意定义;
4、Linear interpolation:用缺失值相邻两点非缺失值的中点值做替代;
5、Linear trend at point:用线性拟合方式确定替代值。
第三节
数据文件的管理
2.3.1 数据文件的调用
选File菜单的Open命令项,再选Data...项,弹出Open Data
File对话框,用户确定盘符、路径、文件名后点击OK钮,即可调入数据文件。
系统支持如下格式的数据文件:
1、SPSS:SPSS for WINDOWS版本的数据文件,后缀为.sav;
2、SPSS/PC+ :SPSS for DOS版本的数据文件,后缀为.sys;
3、SPSS portable:SPSS的ASCII格式的机器码,可用于网络传输,后缀为.por;
4、Excel:微软公司电子表格的数据文件,后缀为.xls;
5、Lotus:莲花公司电子表格的数据文件,后缀为.w*;
6、SYLK:扩展格式电子表格的ASCII格式, 后缀为.slk;
7、dBASE:数据库的数据文件,后缀为.dbf;
8、Tab-delimited:以空格为分隔的ASCII格式的数据文件,后缀为.dat。
2.3.2
数据文件的连接
2.3.2.1
纵向连接——观察单位的追加
利用数据连接功能可以将两个或两个以上的具有相同变量格式的数据文件连在一起。选Data菜单的Merge Files命令项,选Add Cases...项,弹出Add Cases:Read
File对话框(类似于图1.24),用户确定盘符、路径、文件名后点击OK钮,即完成连接。如本例有两个数据文件:data1.sav和data3.sav(图1.25),它们具有共同的变量name、x1、x2,将之连接后如图1.26所示。
图1.24 数据文件调用对话框 |
图1.25 待连接的数据文件 |
图1.26 连接后的数据文件 |
2.3.2.2 横向连接——变量值的合并
利用数据连接功能还可以将两个或两个以上的具有相同观察单位的数据文件连在一起。选Data菜单的Merge Files命令项,选Add Variables...项,弹出Add Variables:Read
File对话框(类似于图1.24),用户确定盘符、路径、文件名后点击OK钮,即完成连接。如本例有两个数据文件:data1.sav和data2.sav(图1.27),它们具有共同的观察单位zhangsan、lisi、wanwu、maliu,将之连接后如图1.28所示。
图1.27 待连接的数据文件 |
图1.28 连接后的数据文件 |
2.3.3
数据文件的保存
输入数据管理器中的数据,无论什么时候(完成统计后或未作任何分析前或数据尚未输完,等),用户均可对之进行保存,以便于再使用(可以用于下次再追加数据、或作其他统计处理、或转成其他格式的数据文件供别的软件使用,等)都可以将数据文件保存起来。
选File菜单的Save As... 命令项,弹出Newdata:Save Data As对话框(图1.29),
用户确定盘符、路径、文件名以及文件格式后点击OK钮,即可保存数据文件。
图1.29 数据文件保存对话框 |
系统可由用户通过点击Save File as Type框的下箭头,选择确定完成下列格式数据文件的存放:
1、SPSS(*.sav):SPSS for WINDOWS版本的数据格式;
2、SPSS/PC+(*.sys):SPSS for DOS版本的数据格式;
3、SPSS Portable(*.por):SPSS for
WINDOWS版本的ASCII码数据格式;
4、Tab-delimited(*.dat) :用空格分割的ASCII码数据格式;
5、Fixed ASCII(*.dat) :混合ASCII码数据格式;
6、Excel(*.xls) :Excel的数据格式;
7、1-2-3 Rel 3.0(*.wk3) :Lotus 3.0版本的数据格式;
8、1-2-3 Rel 2.0(*.wk1) :Lotus 2.0版本的数据格式;
9、1-2-3 Rel 1.0(*.wks) :Lotus 1.0版本的数据格式;
10、SYLK(*.slk) :扩展方式电子表格的数据格式;
11、dBASE Ⅳ(*.dbf) :dBASE Ⅳ版本的数据格式;
12、dBASE Ⅲ(*.dbf) :dBASE Ⅲ版本的数据格式;
13、dBASE Ⅱ(*.dbf) :dBASE Ⅱ版本的数据格式。