2014-10-16 2 views
1

1) Мне нужен SPSS, чтобы вернуть имя переменной самой высокой переменной в ряд подшкал. В основном у меня есть десять подсетей со средним счетом от 0 до 5, я не хочу знать наивысший балл для каждого случая, а скорее, какая подшкала является самой высокой.SPSS Return Наибольшее имя переменной

Когда я использую этот синтаксис, я просто получаю оценку, которая не говорит мне, к какой категории она принадлежит.

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 
Смежные вопросы