制作复杂的新变量

Making complex new variables

我很难找到以下问题的解决方案:

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

这适用于 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.

您要解决的实际问题是什么?创建一堆 (100) 0/1 虚拟变量似乎不是一个非常健全的数据管理实践。 如果您确实接受了建议

DO REPEAT ...
compute  NewVr=(2012-age<=vl).
....

我会改写为

COMPUTE newvar= ( (2012-age ) LE v1 ).

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