我正在尝试使用循环在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.
不幸的是,这只会创建缺少值的变量。上面的代码是否需要一个小的调整,或者它们是一种更有效的方法来完成创建变量?
答案 0 :(得分:1)
我相信您需要将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
重新安排变量排序来使它们按顺序排列。