Syntax 制造复杂的新变量

Syntax 制造复杂的新变量,syntax,spss,Syntax,Spss,我很难找到以下问题的解决方案: 我有一个年龄变量(例如18、20、56)和调查日期(2012年)。我想做的是:如果被调查者是10岁,当被调查者不存在或不存在时,我需要用0和1划分10类年龄:因此新变量age2002=1,age2003=1。。。年龄2012=1,但年龄2000=0,年龄1990=0。 如何在spss语法中为每个受访者做到这一点?我有很多不同的年龄,但调查的年份总是一样的。这适用于从1岁到100岁的所有年龄段: do repeat NewVr=age1912 to age2012/

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

我有一个年龄变量(例如18、20、56)和调查日期(2012年)。我想做的是:如果被调查者是10岁,当被调查者不存在或不存在时,我需要用0和1划分10类年龄:因此新变量age2002=1,age2003=1。。。年龄2012=1,但年龄2000=0,年龄1990=0。
如何在spss语法中为每个受访者做到这一点?我有很多不同的年龄,但调查的年份总是一样的。

这适用于从1岁到100岁的所有年龄段:

do repeat NewVr=age1912 to age2012/vl=1912 to 2012.
 compute  NewVr=(2012-age<=vl).
end repeat.
execute.
重复NewVr=age1912至age2012/vl=1912至2012。

compute NewVr=(2012 age您试图解决的实际问题是什么?创建一组(100)0/1虚拟变量似乎不是一个非常可靠的数据管理实践。 如果你真的按照建议去做

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

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

我不明白你在这里提出的问题的逻辑,但同时也不明白在什么情况下,这种格式的数据会有用?变量构造,组合数据谢谢。你是否还知道如何根据调查年停止生成此变量。例如,如果2012年是一个变量,即调查年(有许多不同的年份)。在调查年之后,对于某个特定的受访者来说,不应该是1,而应该是零,因为我不知道他在调查年之后是否还活着。因此,例如,如果2012年是某个特定受访者的调查年,那么2013年的年龄应该是零。正如David Marso所建议的,你应该添加一些解释,说明你需要这个来帮助generalize这是给其他用户的,可能会听到一些替代方案。在重复的DO中,用SurveyYear替换2012。然后在计算命令后添加:“if vl>SurveyYear NewVr=0”。谢谢,我也发现这是可行的(调查年份)
DO REPEAT ...
compute  NewVr=(2012-age<=vl).
....
COMPUTE newvar= ( (2012-age ) LE v1 ).