2.3 进一步整理数据文件--Data菜单
在许多情况下,我们需要先对数据进行一些整理(如分组、合并、加权等)才能将其用于最终的统计分析。这些功能基本上都集中在Data菜单项中,下面我们就对这些对话框做逐一介绍。
2.3.1 用于数据管理的菜单项
【Sort Cases对话框】
例2.5 对数据集li1_1.sav按group升序,x降序的次序排列。
解:选择菜单Data==>Sort Cases,系统弹出Sort Cases对话框,该对话框并不复杂,其中比较特殊的是下方的Sort Order单选钮,有升序和降序两种选择。请注意,该单选钮是和上方的Sort By框一起使用的,具体方法如下:
-
确认升序单选钮被选择,将Group选入Sort By框;
-
选择降序单选钮,将x选入Sort By框。

请注意:group和x后面分别跟着Ascending和Descending,表明前者是按升序、后者按降序排列;由于Group在前,因此排序时以Group优先。
【Transepose对话框】
该对话框用于对数据进行行列转置,可以在原数据文件中指定一个变量记录转置后的变量名。原变量名则自动保存在系统产生的名为case_lbl的字符变量中。
该对话框也非常简单,左侧为候选变量框;右上方为Variable框,用于选入需要转置的变量,一般应选入除名称变量外的所有其他变量,如果有变量未选入,则转置时会被自动丢弃;右下方为Name Variable框,用于指定原数据文件中记录转置后变量名的字符变量,但不是必需的,此时系统会将新变量自动按var001、var002...的顺序命名。
【Merge Files对话框】
用于合并数据文件,实际上包括了两个对话框,分别对应了两种合并方式:
1. 从外部数据文件中增加记录到当前数据文件中,称为纵向合并,用Add Cases对话框完成,相互合并的数据文件中应该有相同的变量。选择菜单Data==>Merge Files==>Add Cases,系统首先弹出打开数据文件对话框,选中需要添加的数据文件并按OK,系统才弹出Add Cases对话框,左侧显示的是新、老数据文件中不匹配的变量名,右侧显示的是已经匹配的变量名。可以用Rename按钮对不匹配变量改名(先选中)或用鼠标强行匹配(即先按Ctrl键选中匹配的两个变量再单击Pair钮)。右下方的Indicate case source as variable复选框用于定义一个新变量以区分哪些记录是后来添加的。选择停当后单击OK,该操作就完成了。
实际上右侧显示的是将要包括在合并后数据集中的变量,如果有哪个你不需要,把它弄到左侧框中即可。
2. 从外部数据文件增加变量到当前数据文件,称为横向合并,用Add Variable对话框完成,相互合并的数据文件中应包含同样的记录。选择菜单Data==>Merge Files==>Add Variable对话框,系统同样先弹出打开数据文件对话框,单击OK后弹出和前面相似的Add Variable对话框。按需选择即可。
【Aggregate对话框】
用于对数据进行分类汇总,所谓分类汇总就是按指定的分类变量对观测值进行分组,对每组记录的各变量值求指定的描述统计量,结果可以存入新数据文件,也可以替换当前数据文件。

上图中各个零件的含义如下:
-
Break Variables框:用于选择分组变量;
-
Aggregate Variables框:用于选择被汇总的变量;
-
Name&Label钮:用于定义新产生的汇总变量的名称和标签;
-
Function钮:用于定义汇总函数,共有三组函数,以最常用的第一组为例,可选的函数有均数、同组的第一个观测值、最后一个观测值、同组记录数、标准差、最小值、和、最大值共8个;
-
Save Number of cases in break group as variable复选框:用于定义一个新变量以存储同组的记录数;
-
Create new data file单选钮:定义一个新文件以存储汇总的结果,右侧的File钮用于具体文件名的定义,默认文件名为AGGR.sav;
-
Replace working data file单选钮:用汇总的结果替换原来的数据。
例2.6 计算Li1_1.sav中两组的血磷值标准差。
解:该题完全可以用更简单的方法完成,这里只是演示一下汇总对话框的用法。
- Break Variables框:Group
- Aggregate Variables框:x
- Function钮:(Standard deviation单选钮:Continue钮)
- Replace working data file单选钮:选中
- OK
【Split File对话框】
用于将数据文件分组进行处理,该对话框我们在第一章时已经使用过了,这里再介绍一下各个对话框元素的用途:
-
Analyze all cases单选框:和下面的两个单选框为一组,选中本框不拆分文件;
-
Compare groups单选框:按所选变量拆分文件,各组分析结果紧挨在一起便于相互比较;
-
Organize output by groups单选框:按所选变量拆分文件,各组分析结果单独放置;
-
Groups based on框:用于选择拆分数据文件的变量;
-
Sort the file by grouping variables单选框:将数据按所用的拆分变量排序;
-
File is already sorted单选框:数据保持原状,不按所用的拆分变量排序。
【Select Cases对话框】
很多时候我们不需要分析全部的数据,而是按某种要求分析其中的一部分(比如只分析男性的身高、只对前200个数据进行分析以了解大概情况),这时使用Select Cases对话框可以大大简化工作。 该对话框界面如下所示:

其中主要的对话框元素为:
-
All cases单选钮:和下面的4个单选钮为一组,选中它则分析所有的记录;
-
If condition is satisfied单选钮:只分析满足条件的记录;
-
If按钮:和If单选钮一起使用,单击后弹出If对话框;
-
Random sample of cases单选钮:从原数据中按某种条件抽样;
-
Sample按钮:和Random单选钮一起使用,可以设定按百分比抽取记录,或者精确设定从前若干个记录中抽取多少个记录;
-
Based on time or case range单选钮:基于记录序号来选择记录;
-
Range按钮:和Based单选钮一起使用,用于输入记录序号范围;
-
Use filter variable单选钮:使用筛选指示变量来选择记录,必需在下面选入一个筛选指示变量,该变量取值为非0的记录将被选中,进入以后的分析;
-
Filtered单选钮:和下面的Deleted单选钮为一组,表示未被选中的记录只是被隔离,这些记录的记录号会被加上斜杠以示区别;
-
Deleted单选钮:未被选中的记录将被删除,一般不要使用。
当对数据集做出筛选后,所做的筛选将在以后的分析中一直有效,直到再次改变选择条件为止。同时在多数情况下,系统会自动产生一个名为filter_$的筛选指示变量,被选中的记录该变量取值为1,反之则为0。
【Weight Cases对话框】
在默认情况下,每一行就是一条记录,这在多数情况下没有什么问题,但有时却非常麻烦,想想看如果你需要计算一个四格表卡方,有100例,如果每一行就是一条记录,你就需要输入100条记录!如果希望在计算过程中利用不同的变量对数据进行加权处理,就需要用到Weight Cases对话框。该对话框的使用极为简单,界面上有两个单选钮,分别是不权重记录和用某变量权重记录,如果选择后者,则需要选中一个权重变量。
【Data菜单中的其余对话框】
-
Define dates对话框:可以自动生成时间变量。
-
Insert Variable命令:在当前列插入新变量。
-
Insert cases命令:在当前行插入新记录。
-
Goto cases对话框:到达指定记录号的记录,该命令在记录数极多时(1000条以上)非常有用。
2.3.2 正交设计菜单项
正交设计不包含在SPSS/BASE模块中,因此由于解密范围的问题,有的D版中不含该菜单项,不过我用的10.0版里是有的:)。
以前我以为SPSS不能作正交设计,感谢网友edof@sh的提醒,经研究,在SPSS中可以直接进行正交设计,Orthogonal Design子菜单项就是专门用于完成该任务的,具体做法用下面的例子说明如下:
例2.7 做A、B两个因素的正交设计,A因素有三个水平,B因素有两个水平。
解:选择Data-->Orthogonal Design-->generate,弹出的就是正交设计窗口,操作如下:
- Factor name框:输入A;
- 单击ADD钮;
- 确定变量A被选中,单击Define value钮;
- Value列:头三行分别输入1、2和3,代表变量A的三个水平;
- 单击continue钮;
- Factor name框:输入B;
- 单击ADD钮;
- 确定变量B被选中,单击Define value钮;
- Value列:头两行分别输入1、2,代表变量B的两个水平;
- 单击continue钮;
- 单击OK
在第10步定义完后,对话框应如下图所示:

在其他没有用到的选择项中,各种LABELS当然适用于定义相应的各种标签的;Data Files单选框组用来定义产生的数据文件是存为制定的文件名,还是直接替换当前工作文件;而Define Value对话框中的Auto fit框可以自动填充从1到你输入的那个数值这么多个水平的定义,特别适合我这种懒人。
这里我们直接替换当前工作文件,在这个自动产生的正交设计数据集中,前两个变量就是要分析的A和B,各个水平已经按正交设计的要求排列好了。后面的status_和card_变量是系统产生的LOG变量,可以不管它。现在你再建立一个结果变量,输入实验结果,就可以进行正交设计的分析了。
|