我需要使用一个简单的数学方程式,基于4组现有的61个现有变量来计算61个新变量。我知道我可以编写61条计算语句。有没有更优雅的方式来创建这些变量?这是61条语句的外观:
COMPUTE score_1 = factor_1 * (a_1 + b_1) + c_1.
...
COMPUTE score_61 = factor_61 * (a_61 + b_61) + c_61.
EXECUTE.
谢谢。
recode
接受并为我的新变量(recode raw1 to raw61 (1=0) (2=1) into a_1 to a_61.
编号)我可以在这里做同样的事情吗?
答案 0 :(得分:3)
您可以使用do repeat
结构
DO REPEAT score=score_1 score_2 ... score_61
/factor = factor_1 factor_2 ... factor_61
/a=a_1 a_2 ... a_61
/b=b_1 b_2 ... b_61
/c=c_1 c_2 ... c_61.
COMPUTE score=factor*(a+b)+c.
END REPEAT.
EXECUTE.
幸运的是,您的变量按设置顺序排列(即-所有因子都是连续的,所有因子都是连续的,等等。您可以像这样使用to
来引用它们:
/factor = factor_1 TO factor_61
否则,您需要一个一枚举。希望这会有所帮助