我遇到了解决以下问题的麻烦:
我有一个年龄变量(例如18,20,56)和调查日期(2012年)。我想做的是以下几点:如果被访者是10岁,我需要在受访者不存在或活着时制作10个年龄段0和1:所以新变量age2002 = 1,age2003 = 1,... 。age2012 = 1但是age2000 = 0且age1990 = 0。 我怎样才能为每个受访者提供spss语法?我有很多不同的年龄,但调查的年份总是一样的。
答案 0 :(得分:1)
这适用于1到100岁的所有年龄段:
do repeat NewVr=age1912 to age2012/vl=1912 to 2012.
compute NewVr=(2012-age<=vl).
end repeat.
execute.
如果您只想要1到10岁之间的所有年龄,然后是2000年,1990年,1980年等等:
do repeat NewVr=age1970 age1980 age1990 age2000 age2002 to age2012
/vl=1970 1980 1990 2000 2002 to 2012.
compute NewVr=(2012-age<=vl).
end repeat.
execute.
答案 1 :(得分:1)
您尝试解决的实际问题是什么?创建一堆(100)0/1虚拟变量似乎不是一个非常合理的数据管理实践。 如果你选择了建议的
DO REPEAT ...
compute NewVr=(2012-age<=vl).
....
我会把它重写为
COMPUTE newvar= ( (2012-age ) LE v1 ).
在我的大脑中解析起来似乎更清楚。