2014-10-16 83 views
1

1)我需要SPSS來返回一系列子尺度中最高變量的變量名稱。基本上我有10個分數,平均分數從0到5,我不想知道每個案例的最高分數,而是哪個分數最高。SPSS返回最高變量名稱

當我使用這種語法時,我只得到了分數,它並不告訴我它屬於哪個分類。

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

這對宏來說是一件好事。

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