我想使用语法找到变量的量度,然后在If语句中使用它。使用语法可以做到这一点吗?
例如,如果我有两个变量a
(标称)和b
(标称):
DO IF (a is nominal?)
...
END IF
答案 0 :(得分:2)
您可以创建数据中所有名义变量的列表。在下面的示例中,列表将存储在宏调用!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.