SPSS返回最高变量名称

时间:2014-10-16 21:03:26

标签: syntax spss

1)我需要SPSS在一系列分量表中返回最高变量的变量名。基本上我有十个分量表,平均分数从0到5,我不想知道每个案例的最高分,而是哪个分量表最高。

当我使用这种语法时,我只得到分数,而不是告诉我它属于哪个类别。

COMPUTE Motivation_Highest2 = MAX(Stress_Mgmt, Revitalisation, Enjoyment, Challenge,    SocialRecog, Affiliation, Competition, HealthPress, IllHealth, PosHealth,
WtMgmt, Appearance, StrengthEnd, Nimbleness, MotivationHighest).

VARIABLE LABELS Motivation_Highest2 'Motivation Intensity: Highest Score on any Motivation Subscale'.

EXECUTE. 

我可以要求SPSS返回变量名而不是分数吗?

2)可能有两个得分同样很高。在这种情况下,我希望SPSS给我两个变量名。

谢谢!

1 个答案:

答案 0 :(得分:1)

对于宏来说,这是一个很好的工作。

DEFINE !MaxVars (OutN = !TOKENS(1)
                /OutV = !CHAREND("/")
                /Var = !CMDEND)
NUMERIC !OutN.
!DO !I !IN (!Var)
  COMPUTE !OutN = MAX(!OutN,!I).
!DOEND
STRING !OutV (!CONCAT("A",!LENGTH(!Var))).
!DO !I !IN (!Var)
  IF !I = !OutN !OutV = LTRIM(CONCAT(RTRIM(!OutV)," ",!QUOTE(!I))).
!DOEND
!ENDDEFINE.

这是一个在一组数据上使用它的例子。

DATA LIST FREE / X1 X2 X3.
BEGIN DATA
1 2 3
3 2 1
4 4 0
0 4 4
1 1 1
END DATA.
!MaxVars OutN = Max OutV = Vars /Var = X1 X2 X3.

如果您再运行LIST Max Vars.,它将在输出中返回:

Max Vars 

 3  X3 
 3  X1 
 4  X1 X2 
 4  X2 X3 
 1  X1 X2 X3