4.5 数据文件的合并
在进行数据处理和统计分析时,经常需要将多个数据文件合并成一个数据文件。SPSS提供了两种合并数据文件的方式:个案合并和变量合并。
个案合并,也称纵向合并。是在两个具有相同变量的数据文件中,将其中一个数据文件的个案追加至当前数据文件的个案中,形成新的数据文件。
变量合并,也称横向合并。是在两个具有相同个案的数据文件中,将其中一个数据文件的个案变量值追加至当前数据文件的相应个案中,形成新的数据文件。
4.5.1 个案合并
下面以两个具体的数据文件说明个案合并的基本操作步骤。先建立如图4.13所示的两个待合并的数据文件:merge_1.sav和merge_2.sav。
图4.13 两个待合并的数据文件:merge_1.sav和merge_2.sav
step 1 将数据文件merge_1.sav读入到SPSS的数据编辑窗口。
step 2 打开主对话框。
在数据编辑窗口中,选择菜单“Data”→“Merge Files”→“Add Cases”(添加个案)命令,弹出如图4.14所示的Add Cases to merge_1.sav[DataSet2]对话框。
图4.14 Add Cases to merge_1.sav[DataSet2]对话框
若要合并的另一数据文件已经打开,则可选择“An open dataset”单选框,并在其下的数据集列表框中选择要合并的数据文件名。否则,选择“An external PASW Statistics data file”单选框,并在下拉菜单中指定合并文件路径和文件名。单击“Continue”按钮,显示如图4.15所示的“Add Cases From merge_2.sav[DataSet3]”(添加个案)对话框。
图4.15 “Add Cases From merge_2.sav[DataSet3]”(添加个案)对话框
step 3 选择合并方法。
在如图4.15所示对话框中,右侧“Variables in New Active Dataset”(新工作数据文件的变量)窗口中显示合并文件的变量名,左侧的“Unpaired Variables”(未匹配变量)窗口中显示未匹配的变量列表。变量名旁标有“*”号的变量表示的是当前工作数据文件中的变量,带有“+”号的变量表示的是外部数据文件的变量。
下面对这两种情况进行说明:
◆ “Unpaired Variables”窗口中的不匹配变量可以合并到新数据文件中。在“Unpaired Variables”窗口中选择变量,单击右向箭头按钮,将其移动至“Variables in New Active Dataset”窗口。由于该变量是不匹配变量,因此在合并文件时,只显示该变量所属数据文件中个案的变量值,其余为系统缺失值。例如,mergefile_2.sav文件中有变量“学历”,但在mergefile_1.sav文件中没有该变量。
◆ 若在“Unpaired Variables”窗口中,含有来自于两个数据文件中的变量名不同,但数据的含义和属性都相同的变量,则可以通过“Pair”命令匹配这两个变量。例如,在如图4.15所示对话框中,“Unpaired Variables”窗口非匹配变量“年龄”和“age”来自于两个不同的数据文件,但含义都表示年龄,变量属性也相同,在合并时,这两个变量可以视为同一个变量。操作方法为:按住“Ctrl”键的同时,依次单击“Unpaired Variables”窗口的“年龄”和“age”变量名,这时激活“Pair”按钮,再单击“Pair”按钮,将这两个变量移动至“Variables in New Active Dataset”窗口。显示变量名“年龄 & age”,实现变量的匹配。
step 4 选择数据文件中添加变量的选项。
“lndicate case source as variable”选项,若选择此项,则在合并的数据文件中增加一个变量名为“source01”的变量。变量值为0时,表示该个案来源于工作数据文件;变量值为1时,表示该个案来源于外部数据文件。
step 5 执行操作。
单击“OK”按钮,在当前数据编辑窗口显示如图4.16所示的个案合并后的数据编辑窗口。
图4.16 个案合并后的数据编辑窗口
step 6 “Paste”得到的Syntax语句程序如下:
/* 个案合并的命令语句. ADD FILES /FILE=* /RENAME (年龄 = d0) /FILE='DataSet3' /RENAME (学历 age = d1 d2) /DROP= d0 d1 d2. EXECUTE.
4.5.2 变量合并
下面仍以两个具体的数据文件说明变量合并的基本操作步骤和选择设置项。先建立如图4.17所示的数据文件:merge_1.sav和merge_3.sav。
图4.17 merge_1.sav和merge_3.sav数据文件
step 1 将数据文件merge_1.sav读入到SPSS的数据编辑窗口。
step 2 打开对话框。
在数据编辑窗口选择菜单“Data”→“Merge Files”→“Add Variables”(添加变量)命令,在弹出的选择数据文件对话框中指定需要合并到Mergefile_1.sav的数据文件路径及文件名merge_3.sav,单击“Continue”按钮,显示如图4.18所示的“Add Variables from DataSet4”(添加变量)对话框。
图4.18 “Add Variables from DataSet4”(添加变量)对话框
step 3 选择添加变量的方法。
在“Add Variables from DataSet4”对话框中,左侧“Excluded Variables”(排除的变量)
窗口中显示的是新合并的数据文件中不包含的变量,包括外部数据文件中和工作数据文件重名的变量列表。变量名旁标有“*”符号的变量表示的是当前工作数据文件中的变量,带有“+”号的变量表示为外部数据文件的变量。右侧“New Active DataSet”(新工作数据文件的变量)窗口中显示合并文件的所有变量名。
只有“Excluded Variables”窗口中重名的变量可以作为关键变量,两个数据文件中关键变量相等的变量值是识别并且正确合并变量文件的重要依据。
如果要引入“Excluded Variables”列表中的同名变量进入合并的数据文件,可以选择变量,然后单击“Rename”(重命名)按钮,对变量重命名,然后再选择此变量,单击右向箭头按钮,将其移动至“New Active DataSet”窗口。
step 4 选择关键变量以及相关设置。
如果两个数据文件具有相同的个案数,并且排列顺序一致,则不需要指定关键变量,只需要单击“OK”按钮,即可得到所需要的变量合并数据文件。如果两个数据文件的个案不匹配,或者排列顺序不一致,则必须先选定关键变量,然后按照关键变量相同的排序方式,重新对两个数据文件进行排序。对话框中需要选择如下项目:
选择“Match cases on key variables in sorted files”(在排序文件中按关键变量来匹配个案)选项,则表示按照已排序文件的关键变量匹配个案。选择该项,同时激活以下3个单选项。
◆ Both fiIes provide cases对两个文件的全部个案进行合并。
◆ Non-active dataset is keyed tabIe非活动数据集是关键表。选择该项,则将外部数据文件的变量值与活动数据集中对应变量的值相等的个案合并到活动数据集中。
◆ Active dataset is keyed tabIe活动数据集是关键表。与前项相反。
step 5 lndicate case source as variable选项及其含义。
若选择此项,则在合并的数据文件中增加一个变量名为“source01”的变量。变量值为0时,表示该个案来源于工作数据文件;变量值为1时,表示该个案来源于外部数据文件。
step 6 执行数据合并操作。
单击“OK”按钮,在当前数据编辑窗口显示如图4.19所示的变量合并后的数据文件。
图4.19 变量合并后的数据文件
特别强调,如果两个数据文件的排列顺序不一致,则必须先选定关键变量,然后按照关键变量相同的排序方式重新对两个数据文件进行排序。但即使不进行排序操作,SPSS仍会给出合并结果,但不出现错误信息。
step 7 “Paste”得到的Syntax语句程序如下:
/* 变量合并的命令语句. MATCH FILES /FILE=* /FILE='DataSet4' /RENAME (性别 姓名 = d0 d1) /DROP= d0 d1. EXECUTE.