2016-06-10 594 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. 
相关问题