第六节 数据文件的合并
实际工作中,在进行数据处理和统计分析时,经常需要将多个数据文件合并成一个数据文件。根据需要,SPSS提供了两种方式的合并。一种是纵向合并,即进行两个或多个数据文件中的个案合并;另一种是横向合并,即两个或多个数据文件的变量合并。
一、纵向合并
是对多个具有相同变量的数据文件中的数据进行纵向链接,形成新的数据文件。新数据文件中的个案数是几个数据文件中个案的总和。纵向合并是将两个数据库中的变量列进行一一对应进行链接。将图3-22和图3-23所示的两个数据库文件拟进行纵向合并。
1.首先打开如图3-22数据文件。
2.在图3-22的数据库的数据视图中,选择菜单项依次选择“数据—合并文件—添加个案”,如图3-24所示。
3.然后,出现如图3-25所示界面,分别有两种选择方法,选取拟合并的数据库到打开的活动数据库(CD4检测1.sav)中。
(1)一种情况是拟合并的数据库已经打开,就会在打开的数据集的数据库显示框中显示,选中即可。
(2)另一种情况是拟合并的数据库没有打开,可以直接从“外部SPSS Statistics数据文件”通过“浏览”找到该数据文件所在的路径,选好后,点击“继续”。
4.打开的窗口如图3-26所示。
(1)非成对变量:如拟合并两个数据文件中的变量名只存在其中一个数据文件中,就在此变量名列表框中显示。变量名列表框中变量名带*标记表示该变量名是来自当前活动数据文件中的变量,如变量“CD4检测结果”来自当前活动数据文件“CD4检测1.sav”:变量名列表框中变量名带+标记表示该变量名是来自外部待合并数据文件中的变量,如变量“CD4”来自外部待合并的数据文件“CD4检测2.sav”。
● 请注意:即使两个数据文件中的变量名相同,但是两个变量属性不同,也会被认为是两个不同的变量。如果需要强行在新数据库中保留这两个非成对变量,可以将这两个变量分别选中,点击向右的箭头,成为新的活动数据集中的变量,但是,请注意:这种非成对变量的变量值如果不是合并前的某个数据文件中的变量,其在新的活动数据集中就显示为缺失值。
(2)重命名:如果想让新的数据文件中的变量名与之前的变量名不同,可以将该变量名选中,如果变量名已经显示在右侧的“新的活动数据集中的变量”,将其选入左侧的“非成对变量”中,然后点击重命名,进行重新命名,完成后,再选入到右侧的“新的活动数据集中的变量”中即可。
● 请注意:如果是两个数据文件中都有的同一个变量名,只需要重命名其中一个即可。
(3)新的活动数据集中的变量:在此变量名列表框中显示的是,两个待合并的数据文件中共有的变量名会被自动对应匹配,在合并后的新的活动数据集中出现,成为新数据文件中的变量。如果不需要合并其中某个变量,可以通过手动方式将该变量选中后,点击向左的箭头,放到“非成对变量”的变量名列表框中即可。
(4)强行配对:尽管两个数据文件中的两个变量名不一样,该变量其实代表的是同一个含义。这时就可以采取强行配对。图3-26中的非成对的两个变量“CD4检测结果”和“CD4”的含义是一样的。先用光标选中一个变量,然后按住“Ctrl”不放,再选中另一个变量,就同时选中了这两个变量,然后点击“对”按钮,出现如图3-27所示界面,在右侧“新的活动数据集中的变量”的变量名框中显示“CD4检测结果&CD4”,新数据文件中的变量名以当前活动数据文件中的变量名为准。
(5)将个案源表示为变量:这是用于标识合并后的数据文件中的个案分别来自合并前的哪个数据文件。SPSS标识个案的数据来源的变量名为“源01”,这个变量名可以根据需要更改。默认取值为0和1,0表示该个案记录来自合并前的活动数据文件,1表示该个案记录来自合并前的外部数据文件。
5.以上操作完成,在图3-27中点击“粘贴”按钮,将以上的操作步骤后台转换为语法程序,并在语法窗口中显示,可以在语法窗口中根据需要对语法程序进行修改,如图3-28所示。
6.点击确定或者运行图3-28的语法程序,数据合并完成,结果如图3-29。
二、横向合并
是将一个数据文件的个案变量值追加到另一个数据文件的个案中,形成新的数据文件。如果两个数据文件的个案数可以相同或者不同均可。将图3-30和图3-31所示的两个数据库文件拟进行横向合并。
1.首先打开图3-30数据文件,从菜单项依次选择“数据—合并文件—添加变量”,弹出如图3-32所示界面。
2.在图3-32中选择拟合并的数据库文件,如果该数据文件已经打开,直接在“打开的数据集”中选中,如果该数据文件没有打开,就点击浏览,找到该文件所在位置并选中到“外部SPSS Statistics数据文件”下方的空白中。然后点击继续,弹出如图3-33所示界面。
(1)已排除的变量:与当前活动数据文件中的变量名相同的外部数据文件的变量名会显示在列表框中,变量名列表框中变量名带+标记表示该变量名是来自外部待合并数据文件中的变量。
● 请注意:即使两个数据文件中的变量名相同,但是两个变量属性不同,也会被认为是两个不同的变量。如果强行需要在新数据库中保留这两个非成对变量,可以将这两个变量分别选中,点击向右的箭头,成为新的活动数据集中的变量,但是,这种非成对变量的变量值如果不是合并前的某个数据文件中的变量,其在新的活动数据集中就显示为缺失值。
(2)重命名:如果想让新的数据文件中的变量名与之前的变量名不同,可以将该变量名选中,如果变量名已经显示在左侧的“已排除的变量”列表框,点击重命名,进行重新命名,完成后,再选入到右侧的“新的活动数据集”中即可。
(3)新的活动数据集:在此变量名列表框中显示的是两个待合并的数据文件中不同的变量名会被按照关键变量进行自动对应匹配,在合并后的新的活动数据集中出现,成为新数据文件中的变量。
(4)配对关键变量的个案:如果两个数据文件的个案数相同,排列的顺序也相同,可以不指定关键变量,直接合并。如果两个数据文件的个案不匹配,或者排列顺序不一致,则需要选定关键变量。然后按照关键变量相同的排序方式对两个数据文件进行排序,然后进行合并。图3-33中“卡片ID”是两个数据文件中共有的变量,作为两个数据文件合并的关键变量。选中“卡片ID”,然后点击右下方的向右箭头,进入关键变量的列表中。
1)两个文件都提供个案:对两个数据文件中的全部个案进行合并。
2)非活动数据集为基于关键字的表:表示非活动数据集是关键表。根据关键变量的值进行匹配,将外部数据文件的变量值与活动数据集中对应变量的值相等的个案合并到活动数据文件中。
3)活动数据集为基于关键字的表:表示活动数据集是关键表。根据关键变量的值进行匹配,将活动数据文件中的变量值与外部数据文件对应的变量值相等的个案合并到外部数据文件中。
4)将个案源表示为变量:这是用于标识合并后的数据文件中的个案分别来自合并前的哪个数据文件。SPSS标识个案的数据来源的默认变量名为“源01”,这个变量名可以根据需要更改。默认取值为0和1,0表示该个案记录来自合并前的活动数据文件,1表示该个案记录来自合并前的外部数据文件。
3.以上操作完成,在图3-33中点击“粘贴”按钮,将以上的操作步骤后台转换为语法程序,并在语法窗口中显示,可以在语法窗口中根据需要对语法程序进行修改,如图3-34所示。
4.点击“确定”按钮或者运行图3-34的语法程序,数据横向合并完成,结果如图3-35所示。
● 请注意:两个数据文件的排列顺序不一致时,必须选定关键变量,按关键变量进行横向合并时,两个文件必须按关键变量进行排序。
● 选择“非活动数据集为基于关键字的表”时,关联的基本工作数据文件中的关键变量可以有重复个案,关联时的外部数据文件中的关键变量不能有重复个案。否则,关联失败。
● 选择“活动数据集为基于关键字的表”时,关联的基本工作数据文件中的关键变量不能有重复个案,关联时的外部数据文件中的关键变量不可以有重复个案。否则,关联失败。
● 如果两个数据文件中均有重复个案,直接按照默认采取“两个文件都提供个案”进行关联。如果最大化保留两个数据文件所有的个案,选择关键变量,同时取“两个文件都提供个案”进行关联。