使用循环在 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
重新安排变量顺序来按顺序排列它们。
我正在尝试使用循环在 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
重新安排变量顺序来按顺序排列它们。