4.5 數(shù)據(jù)文件的合并
在進(jìn)行數(shù)據(jù)處理和統(tǒng)計分析時,經(jīng)常需要將多個數(shù)據(jù)文件合并成一個數(shù)據(jù)文件。SPSS提供了兩種合并數(shù)據(jù)文件的方式:個案合并和變量合并。
個案合并,也稱縱向合并。是在兩個具有相同變量的數(shù)據(jù)文件中,將其中一個數(shù)據(jù)文件的個案追加至當(dāng)前數(shù)據(jù)文件的個案中,形成新的數(shù)據(jù)文件。
變量合并,也稱橫向合并。是在兩個具有相同個案的數(shù)據(jù)文件中,將其中一個數(shù)據(jù)文件的個案變量值追加至當(dāng)前數(shù)據(jù)文件的相應(yīng)個案中,形成新的數(shù)據(jù)文件。
4.5.1 個案合并
下面以兩個具體的數(shù)據(jù)文件說明個案合并的基本操作步驟。先建立如圖4.13所示的兩個待合并的數(shù)據(jù)文件:merge_1.sav和merge_2.sav。


圖4.13 兩個待合并的數(shù)據(jù)文件:merge_1.sav和merge_2.sav
step 1 將數(shù)據(jù)文件merge_1.sav讀入到SPSS的數(shù)據(jù)編輯窗口。
step 2 打開主對話框。
在數(shù)據(jù)編輯窗口中,選擇菜單“Data”→“Merge Files”→“Add Cases”(添加個案)命令,彈出如圖4.14所示的Add Cases to merge_1.sav[DataSet2]對話框。

圖4.14 Add Cases to merge_1.sav[DataSet2]對話框
若要合并的另一數(shù)據(jù)文件已經(jīng)打開,則可選擇“An open dataset”單選框,并在其下的數(shù)據(jù)集列表框中選擇要合并的數(shù)據(jù)文件名。否則,選擇“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所示對話框中,右側(cè)“Variables in New Active Dataset”(新工作數(shù)據(jù)文件的變量)窗口中顯示合并文件的變量名,左側(cè)的“Unpaired Variables”(未匹配變量)窗口中顯示未匹配的變量列表。變量名旁標(biāo)有“*”號的變量表示的是當(dāng)前工作數(shù)據(jù)文件中的變量,帶有“+”號的變量表示的是外部數(shù)據(jù)文件的變量。
下面對這兩種情況進(jìn)行說明:
◆ “Unpaired Variables”窗口中的不匹配變量可以合并到新數(shù)據(jù)文件中。在“Unpaired Variables”窗口中選擇變量,單擊右向箭頭按鈕,將其移動至“Variables in New Active Dataset”窗口。由于該變量是不匹配變量,因此在合并文件時,只顯示該變量所屬數(shù)據(jù)文件中個案的變量值,其余為系統(tǒng)缺失值。例如,mergefile_2.sav文件中有變量“學(xué)歷”,但在mergefile_1.sav文件中沒有該變量。
◆ 若在“Unpaired Variables”窗口中,含有來自于兩個數(shù)據(jù)文件中的變量名不同,但數(shù)據(jù)的含義和屬性都相同的變量,則可以通過“Pair”命令匹配這兩個變量。例如,在如圖4.15所示對話框中,“Unpaired Variables”窗口非匹配變量“年齡”和“age”來自于兩個不同的數(shù)據(jù)文件,但含義都表示年齡,變量屬性也相同,在合并時,這兩個變量可以視為同一個變量。操作方法為:按住“Ctrl”鍵的同時,依次單擊“Unpaired Variables”窗口的“年齡”和“age”變量名,這時激活“Pair”按鈕,再單擊“Pair”按鈕,將這兩個變量移動至“Variables in New Active Dataset”窗口。顯示變量名“年齡 & age”,實現(xiàn)變量的匹配。
step 4 選擇數(shù)據(jù)文件中添加變量的選項。
“l(fā)ndicate case source as variable”選項,若選擇此項,則在合并的數(shù)據(jù)文件中增加一個變量名為“source01”的變量。變量值為0時,表示該個案來源于工作數(shù)據(jù)文件;變量值為1時,表示該個案來源于外部數(shù)據(jù)文件。
step 5 執(zhí)行操作。
單擊“OK”按鈕,在當(dāng)前數(shù)據(jù)編輯窗口顯示如圖4.16所示的個案合并后的數(shù)據(jù)編輯窗口。

圖4.16 個案合并后的數(shù)據(jù)編輯窗口
step 6 “Paste”得到的Syntax語句程序如下:
/* 個案合并的命令語句. ADD FILES /FILE=* /RENAME (年齡 = d0) /FILE='DataSet3' /RENAME (學(xué)歷 age = d1 d2) /DROP= d0 d1 d2. EXECUTE.
4.5.2 變量合并
下面仍以兩個具體的數(shù)據(jù)文件說明變量合并的基本操作步驟和選擇設(shè)置項。先建立如圖4.17所示的數(shù)據(jù)文件:merge_1.sav和merge_3.sav。


圖4.17 merge_1.sav和merge_3.sav數(shù)據(jù)文件
step 1 將數(shù)據(jù)文件merge_1.sav讀入到SPSS的數(shù)據(jù)編輯窗口。
step 2 打開對話框。
在數(shù)據(jù)編輯窗口選擇菜單“Data”→“Merge Files”→“Add Variables”(添加變量)命令,在彈出的選擇數(shù)據(jù)文件對話框中指定需要合并到Mergefile_1.sav的數(shù)據(jù)文件路徑及文件名merge_3.sav,單擊“Continue”按鈕,顯示如圖4.18所示的“Add Variables from DataSet4”(添加變量)對話框。

圖4.18 “Add Variables from DataSet4”(添加變量)對話框
step 3 選擇添加變量的方法。
在“Add Variables from DataSet4”對話框中,左側(cè)“Excluded Variables”(排除的變量)
窗口中顯示的是新合并的數(shù)據(jù)文件中不包含的變量,包括外部數(shù)據(jù)文件中和工作數(shù)據(jù)文件重名的變量列表。變量名旁標(biāo)有“*”符號的變量表示的是當(dāng)前工作數(shù)據(jù)文件中的變量,帶有“+”號的變量表示為外部數(shù)據(jù)文件的變量。右側(cè)“New Active DataSet”(新工作數(shù)據(jù)文件的變量)窗口中顯示合并文件的所有變量名。
只有“Excluded Variables”窗口中重名的變量可以作為關(guān)鍵變量,兩個數(shù)據(jù)文件中關(guān)鍵變量相等的變量值是識別并且正確合并變量文件的重要依據(jù)。
如果要引入“Excluded Variables”列表中的同名變量進(jìn)入合并的數(shù)據(jù)文件,可以選擇變量,然后單擊“Rename”(重命名)按鈕,對變量重命名,然后再選擇此變量,單擊右向箭頭按鈕,將其移動至“New Active DataSet”窗口。
step 4 選擇關(guān)鍵變量以及相關(guān)設(shè)置。
如果兩個數(shù)據(jù)文件具有相同的個案數(shù),并且排列順序一致,則不需要指定關(guān)鍵變量,只需要單擊“OK”按鈕,即可得到所需要的變量合并數(shù)據(jù)文件。如果兩個數(shù)據(jù)文件的個案不匹配,或者排列順序不一致,則必須先選定關(guān)鍵變量,然后按照關(guān)鍵變量相同的排序方式,重新對兩個數(shù)據(jù)文件進(jìn)行排序。對話框中需要選擇如下項目:
選擇“Match cases on key variables in sorted files”(在排序文件中按關(guān)鍵變量來匹配個案)選項,則表示按照已排序文件的關(guān)鍵變量匹配個案。選擇該項,同時激活以下3個單選項。
◆ Both fiIes provide cases對兩個文件的全部個案進(jìn)行合并。
◆ Non-active dataset is keyed tabIe非活動數(shù)據(jù)集是關(guān)鍵表。選擇該項,則將外部數(shù)據(jù)文件的變量值與活動數(shù)據(jù)集中對應(yīng)變量的值相等的個案合并到活動數(shù)據(jù)集中。
◆ Active dataset is keyed tabIe活動數(shù)據(jù)集是關(guān)鍵表。與前項相反。
step 5 lndicate case source as variable選項及其含義。
若選擇此項,則在合并的數(shù)據(jù)文件中增加一個變量名為“source01”的變量。變量值為0時,表示該個案來源于工作數(shù)據(jù)文件;變量值為1時,表示該個案來源于外部數(shù)據(jù)文件。
step 6 執(zhí)行數(shù)據(jù)合并操作。
單擊“OK”按鈕,在當(dāng)前數(shù)據(jù)編輯窗口顯示如圖4.19所示的變量合并后的數(shù)據(jù)文件。

圖4.19 變量合并后的數(shù)據(jù)文件
特別強(qiáng)調(diào),如果兩個數(shù)據(jù)文件的排列順序不一致,則必須先選定關(guān)鍵變量,然后按照關(guān)鍵變量相同的排序方式重新對兩個數(shù)據(jù)文件進(jìn)行排序。但即使不進(jìn)行排序操作,SPSS仍會給出合并結(jié)果,但不出現(xiàn)錯誤信息。
step 7 “Paste”得到的Syntax語句程序如下:
/* 變量合并的命令語句. MATCH FILES /FILE=* /FILE='DataSet4' /RENAME (性別 姓名 = d0 d1) /DROP= d0 d1. EXECUTE.