使用循环在 SPSS 中创建指标变量

Create indicator variables in SPSS using loops

我正在尝试使用循环在 SPSS 中创建一些指标变量。

我想创建 17 个新变量 ABA(1-17),如果 BA(1-17) 等于 1,它们的值为 1。我正在尝试类似的操作:

VECTOR ABA(17).
LOOP #i = 1 to 17.
IF(BA(#i)=1) ABA(#i) = 1.
END LOOP.
EXECUTE.

不幸的是,这只会创建具有缺失值的变量。上面的代码是否只需要稍微调整一下,或者它们是否是完成创建变量的更有效方法?

我认为您需要先将 BA 变量集定义为向量,然后才能在代码中引用它们。所以尝试:

VECTOR ABA(17) /BA=BA1 to BA17.
LOOP #i = 1 to 17.
IF(BA(#i)=1) ABA(#i) = 1.
END LOOP.
EXECUTE.

注意,鉴于 BA 变量已经存在于数据集中,您不能将它们作为 VECTOR BA(17). 引用,而必须使用 VECTOR BA=BA1 to BA17. 如果它们在数据文件中的顺序不正确,那么您将不得不使用 ADD FILES FILE 重新安排变量顺序来按顺序排列它们。