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给我两个变量名。
谢谢!
答案 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