制作复杂的新变量

时间:2016-05-09 14:21:58

标签: syntax spss

我遇到了解决以下问题的麻烦:

我有一个年龄变量(例如18,20,56)和调查日期(2012年)。我想做的是以下几点:如果被访者是10岁,我需要在受访者不存在或活着时制作10个年龄段0和1:所以新变量age2002 = 1,age2003 = 1,... 。age2012 = 1但是age2000 = 0且age1990 = 0。 我怎样才能为每个受访者提供spss语法?我有很多不同的年龄,但调查的年份总是一样的。

2 个答案:

答案 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 ).

在我的大脑中解析起来似乎更清楚。