制作复杂的新变量
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 ).
在我的大脑中解析起来似乎更清晰了。
我很难找到以下问题的解决方案:
我有一个年龄变量(例如 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 ).
在我的大脑中解析起来似乎更清晰了。