5.4 數據的選取
通過調研和實驗得到的數據量一般都很大。在數據處理或統計分析之前,需要對數據進行篩選,剔除有問題或者無關緊要的數據。有時也會根據抽樣方法的需要,選取滿足一定條件的部分數據進行分析,這就需要對數據進行選擇。SPSS允許用戶根據指定的條件對數據的個案進行選取,后續的分析操作只針對選出的數據進行。
5.4.1 數據選取的基本操作
SPSS提供的數據選取方法有5種,下面給出基本方法和操作步驟:
在數據編輯窗口,選擇菜單“Data”→“Select Cases”(個案選取)命令,顯示如圖5.7所示的“Select Cases”(選擇個案)對話框。

圖5.7 “Select Cases”(選擇個案)對話框
“Select Cases”對話框左側為變量列表選擇框,右側“Select”窗口顯示5個單選框,用于確定數據的選擇方式。
(1)全部個案的選取方式
選擇“All cases”選項,表示選擇全部個案,數據編輯窗口個案沒有發生變化。
(2)滿足條件個案的選取方式
選擇“lf condition is satisfied”選項,表示根據邏輯關系表達式選擇數據,即只選取滿足邏輯表達式的個案。若選擇該項,其下側的“lf”按鈕將被激活。單擊該按鈕后,彈出“Select Cases:lf”(選擇個案:如果)子對話框,如圖5.8所示。

圖5.8 “Select Cases:lf”(選擇個案:如果)對話框
“Select Cases:lf”對話框的構成和邏輯表達式的輸入方法與其他過程的“lf”對話框類似(如5.3節變量計算中“Compute Variable:lf Cases”對話框)。在左側的變量列表框中選擇原始變量名,單擊右向箭頭按鈕,使選中的原始變量名出現在表達式框中,再利用計算面板輸入所需操作符和常數。
當需要SPSS函數構成表達式的一部分時,可以在對話框的右側“Function group”函數列表框中選擇相應函數,單擊該函數名,再單擊旁邊的向上箭頭按鈕(或直接雙擊該函數名),則該函數便粘貼在邏輯表達式的輸入窗口,選擇或輸入相應函數的參數。
輸入完畢后,單擊“Continue”按鈕,返回至“Select Cases”主對話框。
例如,在5.3.2節介紹的案例中,如果要選取所有錄取成績不低于400分的少數民族考生資料,可以在邏輯表達式窗口輸入:民族>1&錄取成績>=400。
(3)隨機個案的選取方式
選擇“Random sample of cases”選項,表示隨機選取數據,即按一定比例或數量隨機選取指定范圍的個案。若選擇該項,則其下面的“Sample”(樣本)按鈕將被激活,單擊該按鈕,打開“Select Cases:Random Sample”(選擇個案:隨機抽樣)對話框,如圖5.9所示。

圖5.9 “Select Cases:Random Sample”(選擇個案:隨機抽樣)對話框
該對話框的“Sample Size”(抽樣大小)窗口中顯示的兩個單選框確定了兩種隨機樣本的選取方式,即:
◆ ApproximateIy 近似抽樣。這種選取方式是在數據文件中隨機選取給定比例的個案數,只需在“Approximately”選項后面的窗口輸入選取比例數值即可。
◆ ExactIy 精確抽樣。這種選取方式要求指定選取個案的數量,以及在前多少個個案中選取。在“Exactly”選項后的第一個輸入欄中輸入選取的個案數,第二個輸入欄中輸入選取范圍的最后一個個案序號。例如,需要在數據編輯窗口中前15個個案中隨機選取4個個案,可以分別輸入4和15,系統將自動在前15個個案中隨機抽取4個個案。
輸入完畢后,單擊“Continue”按鈕,返回至“Select Cases”主對話框。
(4)根據時間或范圍的選取方式
選擇“Based on time or case range”選項,表示指定選取個案的時間或范圍區間。若選擇該項,“Range”按鈕將被激活,單擊該按鈕,顯示“Select Cases:Range”(選擇個案:范圍)對話框,如圖5.10所示。

圖5.10 “Select Cases:Range” (選擇個案:范圍)對話框
該對話框中,在“Observation”窗口中的“First Case”欄輸入選取個案的起始個案序號,在“Last Case”欄輸入最后一個個案序號,單擊“Continue”按鈕,返回至“Select Cases”主對話框。
(5)利用過濾變量選取方式
選擇“Use filter variable”選項,即確定過濾變量。如果過濾變量中含有0值或缺失值,則該變量的個案將被排除在選取數據中。如果選擇該項,在其下的變量選擇框將被激活,可以直接在左側的變量列表中選擇過濾變量,單擊右向箭頭按鈕,將該過濾變量移動至“Use filter variable”框內即可。
例如,在5.3.2節介紹的案例中,如果要選取所有滿足基本條件的個案進行進一步的分析,可以選擇“錄取成績”為過濾變量,因為在該變量中,不滿足基本錄取條件的個案為缺失值,將在個案選取操作中被排除在外。
(6)確定選取的數據文件的輸出方式
在“Select Cases”對話框中,選擇除“All cases”以外的其他4種任意一個數據選取方式時,“Output”(結果輸出)窗口都會被激活,并激活其下面的3個單選框:
◆ FiIter out unseIected cases 默認選項。在原數據文件中被排除個案的序號上畫一斜杠,表示這些個案在后續的分析中不被考慮。同時,如果利用邏輯關系式或隨機選取的方法選擇個案,在數據編輯窗口還會新增一變量“filter_$”,該變量只取兩個值:0和1,若個案被選取,變量值為1,反之為0。
◆ Copy seIected cases to a new dataset 將被選取的個案復制到一個新的數據集中。選擇該項后,系統將新創建一個數據集,原數據文件不改變。SPSS系統同時打開原數據文件和新創建的數據集。
◆ DeIete unseIected cases 選擇該項后,沒被選取的個案在原始數據文件中將直接被刪除,只顯示選取后的個案,且無法恢復。所以應慎選該項。
輸入和設置完畢后,單擊“OK”按鈕,執行個案選取操作。
5.4.2 數據選取的應用實例
仍以5.3.2節的提前招生錄取的數據為例,下面簡述操作步驟。(數據文件:compute.sav)
考慮下面兩種數據選取的情況。
(1)選取所有來自于西部,且錄取成績不低于460分的男性考生資料
在數據選取方法中,選擇按邏輯表達式方法。在邏輯表達式窗口中輸入:性別=1&省份=1&錄取成績>=460。輸出方式選擇“Filter out unselected cases”。從圖5.11顯示的數據選取的案例分析結果(1)中可以看出,只有兩個在序號前沒有畫斜線的個案滿足選取條件。

圖5.11 數據選取的案例分析結果(1)
上述操作中,“Paste”得到的Syntax語句程序如下:
/* 數據選取的命令語句. USE ALL. COMPUTE filter_$=(性別=1&省份=1&錄取成績>=460). VARIABLE LABEL filter_$ '性別=1&省份=1&錄取成績>=460 (FILTER)'. VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'. FORMAT filter_$ (f1.0). FILTER BY filter_$. EXECUTE .
(2)選取被錄取的考生的資料,并將原始文件轉換成只包含被錄取的考生資料
選擇“Based on time or case range”方法。在“Range”對話框中,“First Case”中輸入1,“Last Case”中輸入7,“Output”窗口中選擇“Copy selected cases to a new dataset”,輸入變量集名:錄取名單。然后,保存該數據文件。圖5.12是數據選取的案例分析結果(2),即新產生的數據集顯示結果。

圖5.12 數據選取的案例分析結果(2)
上述操作中,“Paste”得到的Syntax語句程序如下:
/* 數據選取的命令語句. FILTER OFF. use 1 thru 7 . EXECUTE .