2016-11-02 27 views
2

我想知道是否有方法可以在SPSS中執行完全匹配比較。目前,使用以下將返回情況下系統缺失(空),其中一個變量是sysmis:當比較SPSS Statistics中的變量時執行完全匹配

compute var1_comparison = * Some logic here. 
compute var1_check = var1 = var1_comparison. 

結果是這樣的(hypens代表空值):

ID var1 var1_comparison var1_check 
1  3     3    1 
2  4     3    0 
3  -     2    - 
4  1     1    1 
5  -     -    - 

我要的是這個:

ID var1 var1_comparison var1_check 
1  3     3    1 
2  4     3    0 
3  -     2    0 
4  1     1    1 
5  -     -    1 

這是可能使用簡單的SPSS語法?我也願意使用Python擴展,儘管我並不熟悉它。

回答

1

這是重新創建你的例子:

data list list/ID var1 var1_comparison. 
begin data 
1, 3, 3    
2 , 4, 3    
3, , 2    
4, 1, 1    
5, , 
end data. 

現在,你必須將之與兩個值丟失的情況分別處理,然後完成所有其他情況下的計算:

do if missing(var1) or missing(var1_comparison). 
compute var1_check=(missing(var1) and missing(var1_comparison)). 
else. 
compute var1_check = (var1 = var1_comparison). 
end if. 
+0

我認爲你需要第三種情況,其中'var1' **或**'var1_comparison'缺失,另一個不等於不等於零。 –

+0

這是個好點@Jignesh Sutar,謝謝。我改變了第一個條件來照顧這一點。 –

1

這裏有一個稍微不同的方法,使用臨時臨時變量(前綴爲散列(#)):

recode var1 var1_comparison (sysmis=-99) (else=copy) into #v1 #v2. 
compute Check=(#v1 = #v2). 
+0

最好不要改變原始數據: 'recode var1 var1_comparison(MISSING = -999)(else = copy)into#v1#v2。 compute var1_check =#v1 =#v2。 ' –

+0

同意!編輯。 –