Как я могу проверить меру (номинал / порядковый номер / масштаб) переменной, используя синтаксис? - PullRequest
0 голосов
/ 26 июня 2018

Я хотел бы найти меру переменной, используя синтаксис, а затем использовать ее в операторе If.Возможно ли это с использованием синтаксиса?

Например, если у меня есть две переменные a (номинальная) и b (порядковая):

DO IF (a is nominal?)
...
END IF

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете создать список всех номинальных переменных в ваших данных.В следующем примере список будет сохранен под вызовом макроса !noms:

SPSSINC SELECT VARIABLES MACRONAME="!noms" /PROPERTIES LEVEL=NOMINAL.
* now, for example you can run frequencies on all nominal variables.
freq !noms.

Если вы хотите преобразовать все номинальные переменные, вы можете использовать do repeat.Например:

do repeat NomVrs=!noms.
recode NomVrs ("cat2"="persian").
end repeat.

Если вы хотите проверить только одну конкретную переменную (в этом примере она называется AmInominal), вы можете использовать макрос следующим образом:

define DoIfNom ()
    !do !vr !in (!eval(!noms))
        !if (!vr="AmInominal") !then
               variable label AmInominal "this variable is indeed nominal".
               recode AmInominal ("cat2"="persian").
               frequencies AmInominal.
        !ifend
    !doend
!enddefine.

DoIfNom.
...