- SPSS寶典
- 張慶利等編著
- 3404字
- 2018-12-27 10:35:35
5.3 變量的計算
5.3.1 變量計算的基本操作
對于復雜的統(tǒng)計分析問題,僅僅根據(jù)原始數(shù)據(jù)的變量值是不夠的。有時需要利用已知的變量產(chǎn)生新變量。SPSS的“Compute Variable”過程可以完成對變量的計算并產(chǎn)生新的變量的任務。
利用“Compute Variable”過程進行變量計算的基本方法和操作步驟如下:
step 1 打開主對話框。
在數(shù)據(jù)編輯創(chuàng)窗口,選擇菜單“Transform”→“Compute Variable”命令,打開“Compute Variable”(計算變量)對話框。如圖5.1所示。

圖5.1 “Compute Variable”(計算變量)對話框
step 2 確定目標變量名。
在對話框的左上角“Target Variable”(目標變量)窗口中輸入目標變量的名稱,如果輸入的目標變量不是原數(shù)據(jù)文件的變量,則執(zhí)行操作以后,在數(shù)據(jù)編輯窗口新產(chǎn)生一個變量;如果輸入變量是已存在變量,則執(zhí)行操作后,該變量覆蓋原變量。
step 3 設置新變量的變量標簽。
單擊“Type & Label”按鈕,出現(xiàn)如圖5.2所示的“Compute Variable:Type and Label”對話框。該對話框用于設置目標變量標簽和變量類型。

圖5.2 “Compute Variable:Type and Label”對話框
“Label”窗口有兩個關(guān)于值標簽的單選項:
◆ LabeI 默認選項。直接輸入變量標簽。
◆ User expression as IabeI 利用計算新變量的表達式作為變量標簽。例如,若選該項,圖5.1中的變量值標簽為:SUM(數(shù)學,語文,英語,綜合)。
圖5.2的“Type”(類型)窗口用于選擇生成的變量類型,包括:
◆ Numeric 數(shù)值型。
◆ String 字符型。
設置完畢后,單擊“Continue”按鈕,返回“Compute Variable”主對話框。
step 4 設置變量的計算表達式。
在“Numeric Expression”(數(shù)值表達式)窗口內(nèi)輸入產(chǎn)生目標變量的數(shù)值計算表達式。輸入計算表達式,可以通過左側(cè)選擇變量列表和下方的計算面板來完成。
在左側(cè)的變量列表框中選擇原始變量名后,單擊右向箭頭按鈕,將選擇的原始變量移動到“Numeric Expression”窗口中;再利用計算面板輸入各種所需的操作符和計算常數(shù)。計算面板類似于計算器鍵盤,包含有常數(shù)、算術(shù)運算符、關(guān)系操作符、邏輯運算符。可以利用變量和各種操作符以及常量產(chǎn)生需要的數(shù)值表達式。
當需要SPSS函數(shù)構(gòu)成表達式時,可以在對話框的右側(cè)函數(shù)類中選擇函數(shù)類,列表框中列出了SPSS函數(shù)的18個小類,單擊需要的函數(shù)類后,在下方的函數(shù)列表框中會出現(xiàn)此類函數(shù)的函數(shù)名列表,找到所需的函數(shù)后,單擊該函數(shù)名,則在中間的文本框中顯示該函數(shù)的用法,再單擊旁邊的向上的箭頭,使之出現(xiàn)在數(shù)值表達式窗口。
step 5 選擇邏輯表達式(lf Cases)。
當滿足不同條件的個案需要使用不同的表達式計算新變量的值時,新變量的值需要分步進行計算。假設在“Compute Variable”對話框已經(jīng)確定了計算部分新變量值的表達式時,下面需要利用“Compute Variable:lf Cases”子對話框選擇滿足條件的個案。
仍在“Compute Variable”主對話框中,單擊“l(fā)f”按鈕,打開如圖5.3所示的“Compute Variable:lf Cases”(計算變量:如果個案)對話框。

圖5.3 “Compute Variable:lf Cases”(計算變量:如果個案)對話框
該對話框中給出下列選項:
◆ IncIude aII cases 默認選項。選擇此項,表示對所有的個案使用“Compute Variable”主對話框中設置的表達式計算新變量值。
◆ IncIude if case satisfies condition 選擇此項,表示只對滿足條件表達式的個案計算新變量的值。選擇此項后激活了條件選擇框。在條件選擇框中輸入所需要選擇個案的條件,即邏輯表達式。
邏輯表達式的輸入方法:在左側(cè)的變量列表框中選擇原始變量名,單擊右向箭頭按鈕,使選中的原始變量名出現(xiàn)在表達式框中。再利用計算面板輸入各種所需操作符和常數(shù),從而產(chǎn)生所需要的邏輯表達式。
當需要SPSS函數(shù)構(gòu)成表達式的一部分時,可以在對話框的右側(cè)“Function group”(函數(shù)類)函數(shù)分類列表框中選擇函數(shù)類,列表框中列出了SPSS函數(shù)的18個小類,單擊需要的函數(shù)類,這時在下方的函數(shù)列表框“Functions and Special Variables”(函數(shù)和特殊變量)中出現(xiàn)此類函數(shù)的函數(shù)名列表,找到所需的函數(shù)后,單擊該函數(shù)名,則在中間的文本框中顯示該函數(shù)的用法,再單擊旁邊的向上的箭頭,使之粘貼在邏輯表達式窗口。
條件選擇對話框“If Cases”在SPSS的其他功能中還會多次用到,應該熟悉其構(gòu)成和用法。
單擊“Continue”按鈕,確認邏輯表達式的輸入,并返回至“Compute Variable”主對話框。
step 6 執(zhí)行操作。
單擊“OK”按鈕,執(zhí)行滿足條件個案的計算操作。
如果對于滿足其他條件的個案,需要給出不同的計算表達式來產(chǎn)生變量,可以重復上述過程。
5.3.2 實例:高校提前錄取名單的確定
給出一具體應用案例,說明變量計算的基本操作和計算結(jié)果。
某高校今年對部分考生采取單獨出題、提前錄取的招生模式。現(xiàn)有20名來自國內(nèi)不同省市的考生報考該校,7個錄取名額。考生提前錄取的招生成績表如表5.3所示,其中列出了考生的考試成績和其他基本情況。(數(shù)據(jù)文件:compute.sav)
表5.3 考生提前錄取的招生成績表

該校制定了如下錄取原則:
◆ 文化課成績由數(shù)學、語文、英語和綜合4門成績組成。文化課成績制定最低錄取分數(shù)線:400分。
◆ 個人檔案中若有“不良記錄”,不予錄取。
◆ 對西部考生和少數(shù)民族考生,給予加分優(yōu)惠。少數(shù)民族考生加20分,西部考生加10分。
◆ 對參加過省以上競賽并取得三等獎以上名次的考生,每項加10分。
◆ 文化課成績和加分總和構(gòu)成綜合分,綜合排名前7者錄取。
下面利用SPSS軟件,按照5.3.1節(jié)的方法,給出成績排名的操作步驟:
step 1 建立數(shù)據(jù)文件。
原始數(shù)據(jù)文件名為compute.sav,包括12個變量,20個個案。為便于計算,除“姓名”為字符型變量外,其他變量都為數(shù)值型,其中“出生年月”為日期型,其余為標準型。下面定義變量值標簽:
性別:1=“男”,2=“女”;
民族:1=“漢”,2=“回”,3=“蒙”,4=“維”,5=“其他少數(shù)民族”;
省份:0=“非西部考生”,1=“西部考生”。
step 2 對所有考生計算文化課總成績。
選擇菜單“Transform”→“Compute Variable”(計算變量)命令,打開“Compute Variable”對話框,如圖5.1所示。在“Target Variable”(目標變量)窗口中輸入新變量名“總成績”,在變量名標簽中輸入“總成績包括數(shù)學、語文、英語和綜合成績”。
在“Numeric Expression”(數(shù)值表達式)窗口中輸入數(shù)值表達式:SUM(數(shù)學,語文,英語,綜合),這里,SUM是SPSS函數(shù),表示求括號內(nèi)4個變量的和,SUM函數(shù)可以通過在“Function group”(函數(shù)組)窗口中選擇“Statistical”統(tǒng)計函數(shù)類,然后,再選擇“Statistical”類中的“Sum”函數(shù)得到。當然,此表達式也可以直接表示為“數(shù)學+語文+英語+綜合”。
單擊“OK”按鈕,執(zhí)行計算總成績的操作。于是,在當前的數(shù)據(jù)編輯窗口中,增添一變量名為“總成績”的變量,其變量值為考生文化課總成績。
step 3 定義“錄取成績”變量和計算表達式。
在當前數(shù)據(jù)編輯窗口,再次選擇菜單“Transform”→“Compute Variable”命令,打開“Compute Variable”主對話框,如圖5.4所示。

圖5.4 “Compute Variable”主對話框
首先,單擊“Reset”按鈕,清除先前使用該對話框定義的內(nèi)容;然后,在對話框“Target Variable”框中,輸入新變量名“錄取成績”。在變量名標簽“Label”欄中輸入“錄取成績由文化課總成績和加分構(gòu)成”。
在“Numeric Expression”(數(shù)值表達式)窗口中輸入數(shù)值表達式:總成績+(民族>=1)*20+省份*10+獎項*10。
數(shù)值表達式中可以含有關(guān)系表達式,例如此例中的“民族>=1”就是關(guān)系表達式,返回值為一邏輯值。當表達式為真時,返回值為1;當表達式為假時,返回值為0。這里的邏輯值0或1參與后續(xù)的數(shù)值計算。民族>=1時,根據(jù)“民族”變量的變量值標簽含義可知,此時必為少數(shù)民族。
step 4 利用“l(fā)f Cases”對話框選擇滿足錄取基本條件的考生。
在“Compute Variable”主對話框中,單擊“l(fā)f”按鈕,打開如圖5.3所示的“Compute Variable:lf Cases”對話框。
選擇“l(fā)nclude if case satisfies condition”選項,在激活的窗口內(nèi)輸入滿足錄取基本條件的表達式:不良記錄< 1 & 總成績 >= 400。單擊“Continue”按鈕,確認邏輯表達式的輸入,并返回“Compute Variable”主對話框。
單擊“OK”按鈕,執(zhí)行滿足條件個案的計算操作。于是,在當前數(shù)據(jù)編輯窗口,增加變量“錄取成績”,不滿足條件的變量值為缺失值。
step 5 對錄取成績排序。
在成績表中,按錄取成績由高至低排名,在錄取成績排名相同的情況下,按總成績決定先后。操作步驟如下:
選擇菜單“Data”→“Sort Cases”,顯示如圖5.5所示的“Sort Cases”(個案排序)對話框。在左側(cè)變量列表框中先選擇變量“錄取成績”,單擊右向箭頭按鈕,將其移動到“Sort by”框中,并在“Sort Order”框中選擇該變量的排序方式:Descending(降序);再選取“總成績”進入“Sort by”框中,排序方式選擇:Descending(降序)。單擊“OK”按鈕,執(zhí)行排序操作。

圖5.5 “Sort Cases”(個案排序)對話框
圖5.6顯示的是提前招生錄取排序表。從表中可以看出,20位考生中共有9位滿足錄取基本條件,在“錄取成績”列中,取前7名作為最后錄取結(jié)果。

圖5.6 提前招生錄取排序表
step 6 “Paste”得到的Syntax語句程序如下:
/* 計算總成績. COMPUTE 總成績 = SUM(數(shù)學,語文,英語,綜合) . VARIABLE LABELS 總成績 '總成績包括數(shù)學、英語、語文、綜合' . EXECUTE . /* 計算錄取成績. IF (不良記錄 < 1 & 總成績 >= 400) 錄取成績 = 總成績+(民族>=1)*20+省份*10 +獎項 *10 . VARIABLE LABELS 錄取成績 '錄取成績由文化課總成績和加分構(gòu)成' . EXECUTE . /* 錄取成績排序. SORT CASES BY 錄取成績 (D) 總成績 (D) .