2016-06-10 63 views
2

我正在嘗試在SPSS中編寫語法,該語法使用計算變量命令創建一個新變量,該變量查看5個其他比例變量並在五個中找到最小變量其值大於或等於0.80。SPSS - 計算函數以創建滿足多個條件的變量

例如,

 CAT1 CAT2 CAT3 CAT4 CAT5 
CASE 1 0.75 0.82 0.85 0.90 0.95 
CASE 2 0.65 0.75 0.82 0.87 0.95 

對於情況1,計算出的變量將返回值2。對於情況2,它將返回我難倒3.

一個值 - 最初我以爲它會使用有條件的MIN語句,但它不起作用。認爲它可能需要一個IF/THEN,但我希望有人有一個更有效的解決方案。謝謝。

回答

0

SPSSX-L列表中已經提供了幾個答案。

1

此語法將在NewVar留下一個零,如果所有的類都小於0.8:

*creating sample data. 
data list list/ CAT1 to CAT5. 
begin data 
0.75 0.82 0.85 0.90 0.95 
0.65 0.75 0.82 0.87 0.95 
end data. 

*calculating NewVar: the index number of the minimum category that is GE 0.8. 
compute NewVar=0. 
compute #tmp=max(CAT1 to CAT5)+1. 
DO REPEAT cat=cat1 to cat5/VL= 1 to 5. 
    do if cat>=0.80 . 
     if cat<#tmp NewVar=VL. 
     compute #tmp=cat. 
    end if. 
END REPEAT. 
EXECUTE.