第2章数据与数据文件
2.1变量定义与数据编辑
2.1.1数据编辑器
SPSS启动后,屏幕上出现“Data Editor”窗口,这是SPSS的数据编辑器,也称数据窗口,如图2-1所示。读者在该窗口可建立、打开数据文件。为便于建立变量和查看变量属性,数据窗口分为:Data View、Variable View两种,其组成与功能如下:
图2-1 数据编辑器的两个窗口
1. 窗口标题栏:当SPSS启动后,屏幕显示窗口名称为“Untitled-SPSS Data Editor”。当窗口中数据已经保存到数据文件时,窗口标题栏则显示该窗口中数据文件名。窗口标题栏下面是菜单栏和工具栏。
2. Variable View窗口用于定义和编辑变量的属性,见图2-1(a)。变量显示区是一个二维表格。左面是行号,也是变量的序号。变量的属性显示在平面表格的第一行,包括变量的变量名、类型、宽度、小数位数、变量标签、值标签、显示格式和测度方式等。
3. Data View窗口用于显示和编辑数据,见图2-1(b)。
在工具栏下面是数据栏与数据输入栏:左边一栏是当前数据栏,显示当前光标位置上的变量名和当前记录号。右边一栏为数据输入栏,显示光标位置上的数据值。从键盘输入的数据先显示在此栏中,回车后系统根据定义的变量长度选择合适的形式显示在光标定位的单元格中。数值过大或过小,都有可能使用科学记数法显示数据。
数据显示区:是一个二维平面表格,左面的行号即观测量序号;在表格顶部显示变量名,在它下面的各单元格中显示各变量值。被选定的单元格边框色加深,单元格有底色。所选定单元格中的数据值显示在数据输入栏中。
2.1.2 定义变量
输入数据之前首先要定义变量。定义变量即要定义变量名、变量类型、变量长度(小数位数)、变量标签(或值标签)和变量的格式(显示宽度、对齐方式、缺失值标记等)、缺失值和测度方式。
定义变量的步骤如下:
1. 单击Variable View选项卡,使数据编辑窗口置于定义变量状态,如图2-2所示,每行定义一个变量。
图2-2 定义变量的窗口
2. 定义变量名
光标置于Name列的空单元格中,单击单元格后输入变量名。例如输入Gender作为变量名。回车后在同行各单元格中系统自动给出了变量的默认属性。
3.变量的默认属性值
● Type:变量类型,默认类型为数值型(Numberic)。
● Width:变量长度,默认长度为8。
● Decimals:小数位数,默认小数位数为2。
● Label:变量标签;Values:值标签;Missing:缺失值,读者自定。
● Columns:列宽,变量在Data View中所占列宽默认为8个英文字符。
● Align:对齐方式,默认右对齐(Right)。
● Measure:测度方式,默认为等间隔测度(Scale)方式。
如果认为默认的属性与要定义的变量属性不符,可以在同行各属性单元格中设置读者所需要的变量属性。
4. 定义变量类型与宽度
(1) 定义变量类型
单击Type列的单元格,默认值Numric旁出现删节号。单击删节号,展开Variable Type(定义变量类型)对话框,如图2-3所示。
图2-3 定义变量类型的对话框
定义变量类型对话框左半部列有8种可供选择的变量类型,自上而下标明的变量类型为:Numeric(标准数值型);Comma(带逗点的数值型);Dot(逗点作小数点的数值型);Scientific notation(科学记数法);Date(日期型);Dollar(带有美元符号的数值型);Custom currency(自定义型);String(字符型)。
单击选择的类型即可。
(2) 定义变量宽度和小数位数
Width栏中的数值是变量的总宽度,Decimal框中显示的是小数位数。要改变其值,可在单元格中双击鼠标左键,在编辑状态下输入读者认为合适的值。或者用鼠标单击单元格中出现的上下箭头按钮,增加或减少变量宽度值。
5. 定义变量标签
定义变量标签是为了注释变量名含义。
在Variable View窗口中,双击Labels相应的单元格,输入注释即可,要尽量简单明了。例如,对Gender变量,可以给出汉字“性别”作为变量的标签。SPSS16 版和17版都可以输入中文标签,每个分析过程的主对话框的原变量表中会在显示英文变量名的同时显示中文标签,使操作变得容易。可以使用Edit菜单中的Options设置在输出表格中是否使用在此定义的中午标签。详见1.3.6节中的内容。
6. 定义与修改值标签
(1) 定义值标签。单击Value栏相应的单元格,再单击单元格右侧出现的删节号,打开Value Labels对话框,见图2-4。在Value框中输入变量值,在Label框中输入对该值含义解释的标签。单击Add按钮,一个值标签就被加入到第三个框,即值标签清单中。例如在定义Gender变量过程中,数值1表示男性,数值2表示女性,则先在Value框中输入“1”,在Label框中输入“男”,单击Add按钮,列表框中增加了一个值标签,显示1=“男”。用同样方法定义第二个值标签,清单中显示2=“女”,值标签定义完毕。单击OK按钮,确认定义的变量标签和值标签正确无误,并返回Variable View窗口。定义中文值标签并在Edit菜单的Options功能(见1.3.6中的解释)中定义在输出表格中使用这个值标签,会使解释输出结果变得容易。
图2-4 定义值标签的对话框
(2) 修改值标签。要修改变量的值标签,在Value Lables对话框中,按如下步骤进行。
首先在值标签列表中选择要加以修改或删除的值标签表达式,鼠标单击使其反向显示。此时,变量值和该值的标签分别显示在列表上方的Value、Label框中。
删除操作:单击加亮的Remove按钮,被选定的值标签就从值标签列表中删除。
修改操作:在Value框中可以输入新的变量值,在Label框中输入新标签。例如选择列表中的Gender变量值2的值标签表达式,并在Value框中修改Gender变量值,将2改为0,标签“女”不变,单击Change按钮,在列表中的表达式由2=“女”改为0=“女”,修改完成。
一个值不能定义两个不同的标签;不同的值不能赋予相同的标签。如果用英文定义标签,还可以单击对话框右上角的Spelling按钮,查拼写错误。
7. 定义读者缺失值
在Variable View窗口中,单击变量与Missing对应的单元格,然后单击右侧的删节号按钮,展开Missing Values定义变量读者缺失值对话框,见图2-5。
图2-5 定义读者缺失值对话框
先选择一种缺失值的类型,再进行具体定义。定义读者缺失值的类型有3种:
(1) No missing values,无缺失值。本选项是系统的默认状态。如果当前变量的值测试、记录完全正确,没有遗漏,则可选择此项。
(2) Discrete missing values,离散缺失值。选择这种方式,可以在下面的3个矩形框中输入3个可能出现在相应的变量中的缺失值,也可以少于3个。在进行统计分析时系统遇到这几个值,则作为缺失值处理。例如对于性别变量,如果定义了用1表示男,用2表示女,则值为0、3、4都被认为是非法的。可以将这3个值分别输入到3个矩形框中,当数据文件中出现这几个数据时,系统将按缺失值处理。
(3) Range plus one optional discrete missing value,附加一个范围外缺失值。选择此项后,除了Low和High参数框外,还有Discrete value离散值,即范围以外的一个值。例如,如果定义变量HEIGHT的值中输入的错误数据有1.40、1.90、1.95和2.03,而且在1.90~2.03之间没有正确的身高测试值,正确值在大于1.40和小于1.90的范围内,则可选择此种定义缺失值的方式。在Low参数框中输入1.90,在High参数框中输入2.03,在Discrete value参数框中输入1.40。
如果这三种定义缺失值方式都不能把所有的非法值包括在内,则要在数据文件中查出错误数据进行修改,修改成系统缺失值。或者在Syntax窗口中利用缺失值函数解决定义缺失值的问题。
8. 定义变量的显示格式
(1) 定义显示用的列宽度
在Variable View窗口中,单击Columns列相应的单元格,再单击出现的上下箭头按钮。增加或减少列宽度值,如图2-6(a)所示。
图2-6 定义变量的列格式和测度方式
(2) 定义显示时的对齐方式
在Variable View窗口中,与变量行Align列相应的单元格中显示的是默认的对齐方式。对数值型变量,系统默认Right,右对齐;对字符型变量,系统默认Left,左对齐。如果要改变默认的对齐方式,单击Align列相应的单元格,有3种个可选择的方式:Left左对齐、Center居中对齐、Right右对齐,在下拉列表中任选一种,见图2-6(b)。
9. 定义变量测度类型
在Variable View窗口中,与变量行Measure列相应的单元格中显示的是默认的变量测度方式Scale。
(1) 关于默认值
① 字符串(字母数字)变量默认类型为Nominal,即标称变量。
② 带有值标签的数值型变量默认类型为Ordinal,即有序变量或称定序变量。
③ 没有定义值标签的数值型变量,但数值的个数少于指定的数量被设置成Ordinal。
④ 没有定义值标签的数值型变量,但数值的个数多于Optionl指定的数量被设置成Scale,即等间隔测度的变量。
默认的变量值的数量为24。若要改变这个值,选择Edit→Options菜单项,在对话框中的Data 选项卡的Reading External data栏中设置这个值。
如果要改变默认的测度类型,单击Measure列相应的单元格,展开下拉列表如图2-6(c)所示。在下拉列表中有3个可选择的类型。
(1) Scale,尺度变量。对等间隔测度的变量或者表示比值的变量选择此项,如身高、体重。
(2) Ordinal,定序变量。对其值表示顺序的变量选择此项,如比赛名次、职务、职称等,可以是数值型变量,也可以是字符型变量。
(3) Nominal,标称变量。它是分类变量的一种,可以是数值型变量,也可以是字符型变量。例如变量值是对所喜欢的颜色的回答,表示宗教信仰、党派等的变量。
10. 确认全部定义的属性
经过上述操作,定义完一个变量的属性参数。可以重复上述操作,定义其他变量属性参数。所有变量名及其属性都显示在Variable View窗口中。如果对定义的属性满意,则按Data View选项卡,转移到数据编辑窗口,输入数据。
2.1.3 定义日期变量
定义日期功能可产生周期性的时间序列日期变量,还可以给时间序列分析的输出加标签。按Data→Define Dates顺序展开Define Dates定义日期对话框,如图2-7所示。在对话框中选择各项与建立、修改、删除日期型变量有关的操作。
图2-7 定义日期对话框
1. 关于Cases Are栏
Cases Are栏即日期类型选项栏,在其中各项都是定义日期变量的时间间隔和为定义时间变量做准备的功能项。利用该对话框建立具有一定时间间隔的日期变量必须满足下列条件:
(1)在数据窗口中已经有一个数据文件。
(2)在该数据文件中的变量名不能与将要建立的日期变量的默认变量名重名,否则新建日期变量将覆盖同名变量。系统默认变量名有:YEAR_、QUARTER_、MONTH_、WEEK_、DAY_、HOUR_、MINUTE_、SECOND_和DATE_。
(3)对于每个Cases Are的功能项,SPSS生成若干数值型变量,新变量名以下画线结尾。同时生成一个字符型变量Date_用以解释生成的日期变量。例如,如果选择了Weeks、days、hours,则生成四个新变量WEEK_、DAY_、HOUR_和DATE_。
2. Current Dates栏
显示项与定义新日期变量有关。在Current Dates标题下面显示的是已经存在的与即将生成的日期变量同名的变量及其定义,以提请注意。
3. First Case Is栏
定义起始日期值,该值作为第一个观测量,接下来的各观测量值根据时间间隔自动生成。
4. Periodicity at higher level栏
显示项与Cases Are栏目所选择的项目对应,在Periodicity at higher level显示项中指定相应的重复周期。例如一年中的月数,一周中的天数。在可以输入数值的区域后面显示的是可以输入的最大值。
5. Cases Are栏目中的主要功能
(1) Not dated(倒数第2项)。选择此项将删除当前数据文件中与系统默认的日期型变量名相同的变量,为使用Cases Are中的某些功能项的执行创造条件。
(2) Custom(倒数第1项)。该功能指出由命令语句生成的日期变量而非使用Define dates功能生成的日期变量。例如每周4个工作日的日期变量,它只反映当前工作的数据文件状态,对数据文件没有影响。
除以上两项功能外全部都是生成日期变量的功能项。
【例1】生成日期变量。
以定义年、季度、月为例说明操作方法。
(1)按Data→Define Dates顺序单击菜单项,打开Define Dates对话框。
(2)在Cases Are栏内选择Years、quarters、months项。在First Case Is栏内显示:
① Year框显示1900,这是系统默认数值,改变该值输入2008,见图2-7,此项表明第一观测量的Year_变量值为2008;
② Quarter框显示变量的起始值为1,周期为4,按1、2、3、4顺序排列;输入3。
③ Month框显示变量的起始值为1,周期为12。输入8。
单击OK按钮,在数据窗口中生成的新变量有:Year_、Quarter_、Month_和对这三个变量值的解释变量Date_,如图2-8所示。
图2-8 日期变量生成的结果(数据窗口与变量窗口)
从图中可以看出,要想使用Define Dates功能自动生成日期变量,在原数据文件中的各观测量必须都是按某时间顺序取得的,而且时间顺序必须与Define Dates对话框中Cases Are栏目中的某一选项相对应才行。
2.1.4数据录入与编辑
1. 录入数据
输入数据的操作方法是多种多样的,可以定义一个变量就输入这一个变量的值(纵向进行),也可以定义完所有变量后,按观测量来输入(横向进行)。
数据编辑器的二维表格中顶部标有变量名,左侧标有观测量序号。一个变量名和一个观测量序号就指定了唯一的一个单元格。可以使用上下左右箭头将插入点光标(当前单元格的定位)移动到相邻的相应位置;用Home、End 键将插入点光标移动到同行首单元格或同行尾单元格。也可以使用滚动条或PgUp、PgDn上下移动一屏。
按下Value Labels图标按钮。所有设置了值标签的变量均显示值标签,图2-9是显示值标签的状态下录入变量gender数据。当输入一个变量值时在单元格中单击向下箭头,在下拉列表中选择一个定义过的值标签。
图2-9 显示值标签的变量
2. 编辑数据
如果知道某个变量的某个值输入错误,只要定位到相应的单元格,重新输入这个数据即可。
(1) 移动指针到指定序号的观测量
按Edit→Go to Case顺序单击鼠标左键,或单击工具栏上的图标按钮,打开Go to对话框的Case选项卡,见图2-10(a)。在Go to Case Number栏输入要查找的观测量号,例如输入38。单击Go按钮。第38行的某个变量(取决于操作前光标停留的变量列)值被加深显示。如图2-10(b)所示。不关闭对话框,还可以继续查找。
图2-10 查找观测量对话框及查找结果
(2) 查找变量
按 Edit→Go to Variable 顺序单击鼠标左键,或单击工具栏上的图标按钮,打开Go to对话框的Variable选项卡,单击Go to variable栏向下箭头,在下拉菜单中选择要查找的变量名,例如选择Salbegin,见图2-11(a)。单击Go按钮。Salbegin变量列所有值被加深显示。如图2-11(b)所示。不关闭对话框还可以继续查找。
图2-11 查找变量对话框及查找结果
Go To对话框有两个选项卡,Case和Variable。可以根据查找目标进行切换。
(3)在Data View窗口中查找或替换指定变量中的指定数据(定位到单元格)
【例2】查找educ值为19的观测量。
① 鼠标光标移至变量educ所在的列中任意单元格,单击鼠标,指定在该列中查找。
②按Edit→Find顺序单击鼠标,或单击工具栏上的Find Data图标按钮,打开Find Data对话框,该对话框标题栏显示要查找的值所属变量Column:educ,见图2-12。
图2-12 查找数据对话框及查找结果
③在Find框中输入要查找的变量数值。本例要求查找Educ=19的观测量,输入19。
④ 单击Find Next按钮,即向观测量序号大的方向查找;找到后加深显示查找内容,见图2-12(b)。再单击Find Next按钮,可以继续查找。直到显示提示信息,查找终止。单击Close按钮,退出对话框。
(4) 匹配查找
单击Show Options按钮打开另一半窗口,见图2-12(c)所示。在Match to栏的选项对查找进一步定义:
● Contains 包含。查找包含指定内容的变量值。例如在Name变量找姓张的,Find栏填入“张”,选择此项,所有名字中有“张”的会一个个显示出来。
● Entire cell 整个单元格。必须整个单元格的内容完全与指定内容一致才算找到。
● Begins with 查找以指定内容开头的变量值。例如选择此项查找$123,找到的内容可以是$123.0、$1234.0,但是不包括$1,23.0。
● Ends with 查找以指定内容为结尾的变量值。
注意:日期时间变量在Data View 窗口中按显示格式查找。例如,对显示格式为10/18/2008要查找10-18-2008就找不到。在Data view窗口中只能向观测量号大的方向查找,不能向观测量号小的方向查找。
(5) 替换功能
选择Replace,在Replace with后面填写替换的内容。当查找到一个目标,单击Replace按钮,查找到的内容被替换。再单击Find Next按钮,找到一个再单击Replace 再替换一个。若单击Replace All,则所有与Find的内容匹配的都被替换成Replace后面的内容。
(6)在Variable View窗口中的查找与替换
在Variable View窗口中,只能对Name、Label、Values、Missing和自定义变量属性列进行查找。且只能对Label, Values的内容和自定义的变量属性列进行替换。
注意:在Values列可以对值和值标签进行查找。但是要替换数据值就会把原来的值标签一起删除了。
(7) 插入一个变量
如果在现存变量的右边界左面增加一个变量,只要单击Variable View选项卡标签,转换到变量窗口,在变量表最下面一行,定义新变量。
如果想把要定义的变量放在已经存在的变量之间,可进行如下操作。
① 确定插入位置。在Data View窗口中将光标置于要插入新变量的列中任意单元格上,单击鼠标左键。或者在Variable View窗口中,单击新变量要占据的那行的任意位置。
② 单击Edit→Insert Variable命令。或单击插入变量图标按钮,在选定的位置上插入一个变量名为“Var0000n”的变量,其中“n”是系统给的变量序号。原来占据此位置的变量及其后的变量依次后移。
③ 切换到Variable View窗口中,对插入的变量定义属性,包括更改变量名。然后切换到Data View窗口输入该变量的数据。
(8) 插入一个观测量
观测量的排列无关紧要,其排列次序可以用排序功能整理。如果确实需要插入一个观测量,可以将光标置于要插入观测量的一行的任意单元格中,单击鼠标。单击Edit→Insert Case命令,或单击工具栏上插入观测量图标按钮的方法实现。结果在选中的一行上增加一个空行,可以在此行上输入该观测量的各变量值。
(9)变量和观测量的删除、复制和移动
在Data View窗口中单击变量名;或者在Variable View窗口单击变量所在的行号就选择了一个变量;对变量的删除和移动可以在这两个窗口中进行。因为不允许有同名变量,因此变量不能复制。
对观测量的删除、复制和移动只能在Data View窗口中进行。单击一个行号就选择了这一行上的观测量。
移动变量(或观测量)只要在选择要移动的对象后,单击Edit菜单中d的Cut命令,找到插入位置,先插入一个空变量(或空观测量),单击空变量的变量名(或空观测量序号),即选择这个空变量(或空观测量)然后单击Edit菜单中的Paste命令,就将剪贴板中的变量(或观测量)粘贴到空变量(或空观测量)的位置上了。
要复制观测量,只要把上述步骤中的Cut改为单击Edit菜单的Copy命令即可。
要删除变量或观测量,只要选择要删除的对象后,单击Delete键或者单击Edit菜单中的Clear命令。
(10) 恢复删除或修改前的数据
单击Undo图标按钮可撤销前一步操作。单击Edit菜单中的Redo命令或单击图标按钮,恢复撤销前的状态。
2.1.5 根据已有的变量建立新变量
1.使用Compute功能完成对新变量值的计算
在进行数据的分析处理时往往需要根据已经存在的变量建立新变量。这一工作可以直接通过 SPSS语句实现。对SPSS 来说,体现其特点的更直观的方法是通过 Compute对话框完成。
(1)按Transform→Compute Variable顺序,打开如图2-13(a)所示的Compute Variable对话框。
(2)在Target Variable框中输入目标变量的名称,用来接收计算的值。目标变量名可以是一个新的变量名或是一个定义过的变量名。如果是新变量,单击Type & Label按钮,展开定义新变量类型和标签的对话框,如图2-13(b)所示。
图2-13 计算新变量值对话框和定义变量类型与标签对话框
① Label栏,为新变量指定标签。
● Label,可在该框中输入长达120个字符的标签说明。
● Use expression as label,利用表达式的前110个字符作为标签。
② Type栏,为变量指定类型。只有两种基本类型可以指定:Numeric数值型,这是默认设置。String字符型,要在Width参数框中输入字符串的宽度。
单击Continue按钮返回Copmpute Variable对话框。
(3)在Numeric Expression框中组合合理的数学表达式。对话框中软键盘中包含了常数、数学运算符、关系表达符号、逻辑运算符。Numeric Expression矩形框相当于计算器的显示屏。在数学表达式框中可以利用鼠标或键盘进行相应的编辑操作,方法如下:
①在左面的矩形框中选择已经存在的变量,移入表达式框中;
②在操作板上选择数字或运算符,单击后出现在表达式框中;
③在函数框中选择需要的函数,双击选中的函数;或单击选中的函数,然后单击向上箭头按钮,使选中的函数出现在表达式中。
④ 移动“I”型光标至函数名称后面的括号中,然后按①所示的方法选择自变量并单击向右箭头按钮,使其置于括号之中,代替括号中表示自变量的问号。
(4)表达式组成规则参见1.5.2节的内容,另外需要注意:
① 自变量必须放在函数名后的括号中。
②每一个关系表达式必须单独完成,例如age1=3(if age>=30 & age<40)与age1=4 (if age>=40 & age<50)定义变量age1的两个值,两个值分别按变量age的不同值为条件确定,则必须分两步完成。
③ 圆点“.”是表达式中唯一合法的小数点符号。
(5) 条件表达式(If)
当不同特点的观测量使用不同的表达式计算新变量的值时,新变量的值需要分步进行计算。在Compute Variable对话框中确定计算部分新变量值的表达式后,再利用条件表达式选择观测量。对使条件表达式值为真的观测量使用Compute Variable对话框中确定的表达式计算新变量的值。对那些使条件表达式为假或缺失的观测量,新变量的值或为缺失值,或保持不变。
①在Compute Variable对话框中单击If按钮,打开Compute Variable: If Cases条件表达式对话框,如图2-14所示。
图2-14 根据条件选择观测量子集的对话框
② 根据需要选择下列选项:
● Include all cases,包括所有观测量,这是默认选项。选择此项对所有观测量使用Compute Variable主对话框中的计算表达式来计算新变量的值。
● Include if case satisfies condition,只对满足条件表达式的观测量才计算新变量的值。选择此项后,激活其下面的矩形框,输入条件表达式。操作方法与Compute Variable中操作方法相同。
③ 条件表达式规则
大多数的条件表达式至少要包括一个关系运算符,并且可以通过关系运算符来连接多个条件表达式。例如:
age>=21表示只有age大于等于21的观测量才会被选择。
Salary*3<100000表示只有Salary乘3的值小于100000的观测量才会被选择。
Salary*3<100000 & jobcat<>3表示只有Salary乘3小于100000并且jobcat不等于3的观测量才会被选择。
逻辑算符连接的两个关系表达式必须单独完成,例如age>=18 & age<35合法,而
age>=18 & <35非法。
④ 单击Continue按钮表示确认输入的条件表达式并返回主对话框。
(6) 单击OK按钮,对符合Compute Variable: If Cases对话框中设置的条件的观测量,按主对话框中确定的计算表达式计算新变量的值。
2.1.6 建立值标签的工具与程序
1. 建立值标签的工具
为变量加标签和为变量值加标签是一件很烦琐的工作。但是对变量和变量值加了标签,并在输出表格或统计图中使用这些标签,对理解输出项的含义非常有好处。
如果分类变量的等级很多,可以先建立了变量并输入数据,然后使用加值标签工具为分类变量或标称变量加值标签。为便于说明方法,仍使用等级较少的变量举例说明该工具具有的功能和操作方法。
(1) 建立值标签工具的功能如下:
① 浏览查看每个变量的实际数据值并列出所有的单一取值;
② 识别未加标签的值,并提供自动标签;
③提供从另一个变量到所选择的变量,或从所选择的变量到多个另外的变量复制已经定义的值标签。
(2)方法与步骤如下,使用数据data02-01。
①单击菜单Data→Define Variable Properties...打开如图2-15所示的对话框。左面的栏中列出了数据文件中所有的变量。
图2-15 定义变量工具属性对话框
② 选择变量送入右面的栏中。选择的变量可以是:要定义值标签的变量或者是已经定义了值标签,且与要定义值标签的变量有相同的值标签;
注意:长字符串变量(定义长度多于8个字符的变量)不显示在变量表中,长字符串变量不能定义值标签和缺失值。
③对话框中的两个复选项:
● Limit number of cases scanned to,限制扫描的观测量数,以减少扫描时间,输入能扫描到所有分类值的观测量数。此选项适用于大数据集。
● Limit number of values display to,限制要显示的变量值的数目,为了在错误地选择了连续变量时,由于变量值有无限多个而增加显示长度,输入估计的变量值的种类数。
单击Continue按钮,进入如图2-16所示的主对话框。
图2-16 定义变量工具主对话框
④在左面的变量列表中已经定义值标签的变量前面标有,未经定义的变量前面标有。选择一个要定义的变量,在CurrentVariable栏里立即显示该变量名,其右显示该变量的变量标签;Measurement Level栏里显示已经定义的测度类型;单击向下箭头按钮,在下拉菜单中可以选择新的定义。其右显示数值格式:类型、宽度、小数位数。
⑤ 单击Suggest按钮打开如图2-17的测度类型建议对话框。上面的三栏中,在Variable后面显示了变量名;在Current Measument Level后面显示了当前定义的变量测度类型,例如图2-17中对Jobcat变量当前的测度类型是Ordinal。读者定义的不一定正确,因此在第3栏给出可以选择的两种类型,在第三栏下面给出变量测度类型的建议供选择。再往下还给出了对各种测度的文字解释。据此可以在单选项中选择认为正确的测度类型。
图2-17 测度类型建议对话框
⑥ 读者可以给变量增加系统规定以外的属性。在主对话框中单击Atributes按钮打开如图2-18的对话框,需要增加一个属性,就单击Add按钮在Custom Atribute for栏内增加一行,在name列读者输入自定义的属性名称,在Value下面输入属性的具体内容。单击Continiue按钮确认,退出对话框。
图2-18 自定义属性对话框
如果该变量还没有定义过各种属性,并且在变量表中有与之属性相同的变量,且值标签也可以相同,单击From Another Variable…按钮,进入相应的对话框。在对话框中选择属性相同的变量,单击Copy按钮,在主对话框中选择的变量就与这个对话框中选择的变量具有相同的属性。
注意,只有值相同的,值标签才相同,值不同的标签还需要再定义。
⑦ 定义值标签。主对话框下面的表中列出了所选择变量的值列表,每一个值只出现一次,因此也称单值表。在Value列中列出了这些值。在Count列中,列出了相应(同行)值在数据文件中出现的频数,可以作为定义值标签的参考。
在认为是缺失值的那一行和Missing 列交叉的单元格中单击鼠标左键,出现对钩,就定义了这个变量值为缺失值。
单击Automatic Labels按钮,在Label列中给出系统自动定义的值标签,一般是与值相同的字符。要给出自定义的标签,只要在Label 列对应变量的单元格中输入一个值标签就可以了。输入后,在Change列中的同行单元格中出现对钩,说明已定义过了。
⑧ 进一步操作。在主对话框中,单击To Other Variables将定义好的值标签用于具有相同值标签的变量。这个变量一定是在预备对话框中已经选入变量表中的变量。
2. 简便操作方法
如果两个变量的值标签相同,定义好一个变量的值标签后,在Variable View窗口中,定义好的值标签的单元格中,单击右键,选择Copy,就将所有值标签复制到剪贴板中。
如果另一个变量具有相同的值标签,右键单击该变量的Value列单元格,右键菜单中单击Paste,就将所有剪贴板中的值标签粘贴到该行所属的变量中了。如果两个变量有不同的值,需要补充定义缺少的值标签。
3. 定义值标签的程序
写个小程序给一组具有相同值标签的变量加值标签,可以很方便地重复使用。例如,变量名为jobcat的只有3个:1、2、3,分别代表秘书、职员和经理。在数据文件中已经输入了代码1、2、3。现在要加上值标签,程序如下:
Value labels jobcat
1 '职员'
2 '秘书'
3 '经理'.
注意:Value labels是语句关键字不能改变,其后的变量可以是空格隔开的变量表。
变量值在前,标签在后,标签字符串加单引号。作为值标签的字符串中没有特殊字符,如“/”时,也可以不加引号。
最后以圆点结束。
单击“运行”按钮,执行程序,值标签加在工作数据文件的相应变量上。
在Data菜单中还有可以使用外部SPSS数据文件作为模板文件的功能,为工作数据文件定义文件属性、变量属性,诸如变量类型、测度类型、变量标签、值标签、显示格式(宽度、小数位数等)、写和打印格式,甚至变量集、多响应变量集等。该功能菜单在Data菜单的第二项,Copy Data Properties…。由于在实际工作中,如此相同的数据文件不多,有以上方法操作已经够用,不再赘述。
2.1.7打开、保存与查看数据文件
1.打开一个已有的数据文件
按File→Open顺序单击鼠标,或单击工具栏上的图标按钮,打开Open File对话框。在“搜索”框中指定文件保存位置。数据文件类型为*.sav。找到或输入要打开的数据文件,双击之,就可以将数据文件显示在数据窗口中。
在打开文件对话框中,单击“文件类型”框内向下箭头,展开SPSS 允许打开的文件类型表列。数据文件的类型大致有以下几种。
SPSS(*.sav):SPSS 建立的数据文件,扩展名为“*.sav”。
SPSS/PC+ (*.sys):SPSS/PC或SPSS/PC plus建立的语句文件,扩展名为“*.sys”。
SYSTAT (*.syd、*.sys):SYSTAT建立的数据文件扩展名为“.syd”或语句文件,扩展名为“*.sys”。
SPSS portable (*.por):用SPSS简便格式保存的数据文件。
Excel (*.xls):Excel建立的表格数据文件。SPSS可以直接打开Excel电子表格文件。
Lotus (*.w*):用Lotus 1-2-3格式写的数据文件。可以是1A版、2版、3版Lotus1-2-3记录的数据文件。它的一行转换成一个观测量,变量是一列。
Sylk (*.slk):用Sylk格式保存的数据文件。
dBASE (*.dbf):数据库格式文件,扩展名为“.dbf”。可以是各种版本 dBASE或FoxBase建立的数据库文件。一个记录转换成数据窗口中的一个观测量。
SAS (*.sas7bdat,*.sd7,*.sd2,*.ssd01,*.xpt)各版本的SAS软件生成的数据文件。
Stata(*.dta):Sdata软件生成的数据文件。
Text (*.txt,*.dat):纯文本数据文件和用ASCII码编写的数据文件。
2. 保存数据文件
保存数据文件可以使用File菜单中的Save和Save As命令。操作方法与Windows系列应用软件的文件保存方法一样,而 SPSS数据文件可以选择不同变量保存为不同的文件。
可选择的数据文件的类型很多。基本上可以打开的文件类型,都是可以保存的文件类型,但大部分会丢失变量标签和值标签。保存为文本文件时有下面两种类型。
Tab-delimited (*.dat):保存为ASCII码文件,用制表符作为两个观测量之间的分隔符。如果一个软件不能读取其他任何格式的数据文件,可以使用此种格式保存数据。在将数据保存为此种格式文件的同时,变量标签、值标签、缺失值定义均丢失。
Fixed ASCII (*.dat):保存为固定列格式的ASCII码文件。
3. 保存部分变量
单击File→Save As,打开如图2-19(a)所示的Save Data As对话框,在“保存在”栏中设置保存位置,在“文件名”栏中输入文件名。
图2-19 保存数据文件及保存子集文件
单击“保存”对话框中的Variables按钮,打开如图2-19(b)所示的Save Data As:Variables对话框。在该对话框中选择要保存的变量。系统默认Keep All,所有变量名前都标有对钩。只有标有对钩的变量才被保存到文件中。选择要保存的变量或单击Keep All全部保存,去掉不保存的变量;或者选择Drop All全部不保存,选择要保存的变量。单击Continue按钮,返回Save As主对话框,单击Save按钮。完成保存部分变量的操作。
【例3】 另存为ASCII码数据文件实例。
数据文件data02-02.sav中有5个变量:no(编号)、gender(性别)、age(年龄)、height(身高)、weight(体重)。把数据保存为固定格式的ASCII码文件的操作如下:
(1)按File→Save As顺序单击鼠标左键,展开Save As对话框;
(2)在Save As对话框中指定存储位置(驱动器、目录),选择文件类型为Fixed ASCII,其扩展名为*.dat。并输入文件名保存。在输出窗中显示保存记录如表2-1。
表2-1中第一列是变量名。第二列是该变量所在的记录号,这些变量处于同一个记录中。第三列是对应的变量所占的起始列号,第四列是对应的变量所占的结束列号,变量no占2列,变量gender占2列……第五列是对应的变量的格式。前两个变量是字符型,后三个变量是数值型。由于各变量值间没有空格,如果在其他软件中打开此文件,该表对重新整理数据很重要,应该保存。
表2-1 文件以ASCII码形式存入指定位置
4. 查看变量信息
在数据窗口中选择一个变量,单击Utilities菜单中 Variables命令,打开Variables变量信息对话框,如图2-20所示;也可以单击Variable 图标按钮,打开该对话框。
图2-20 变量信息对话框
对话框中左半部是变量列表,列出当前数据编辑器中定义的所有变量名和测度类型图标。鼠标单击变量表列中一个变量,右半部分Variable Information变量信息显示区,列出指定变量的属性。Variable Information框中只能显示一个变量的属性信息。例如,图2-20中显示的是职别jobcat变量的信息:第一行是变量名,jobcat;第二行是变量标签,Label: Employment Category;第三行是变量类型,Type:F1,表示1位的数值型变量;第四行是变量的缺失值定义,Missing Value: 0,说明0为缺失值。空行后是值标签Value Labels:值1标签为办事员;值2标签为保管员;值3标签为经理。
单击Close按钮,关闭变量对话框,返回到数据窗口。
5. 查看文件信息
可以利用File菜单的命令查看所有定义的变量。方法是鼠标按File→Display Data File Information顺序单击菜单项,在二级菜单中:
(1) 单击Working File,当前数据窗口中所有变量的有关信息显示在输出窗Variable Information表中;
(2) 单击External File,打开Display Data info对话框,指定一个外部数据文件,文件中所有变量信息显示在输出窗口中。
文件信息包括文件保存位置、文件类型、生成日期以及是否定义了加权变量等。变量信息包括变量在数据编辑窗口中的位置序号、变量名、变量标签、值标签、格式和缺失值。