我正在使用SPSS中的大型数据集。一个变量代表学生'第一专业,有1-15的价值,指的是学生可以拥有的15种不同类型的专业。第二个变量是相同的但是对于第二个/双重专业。
我想将响应组合成一个单一变量主要组。
我让它以这种方式工作:
do if(major1Group =1 or major2Group=1).
compute majorGroup = 1.
ELSE IF(major1Group = 2 or major2Group = 2).
compute majorGroup = 2.
else if(major1Group =3 or major2Group=3).
compute majorGroup = 3.
else if(major1Group =4 or major2Group=4).
compute majorGroup = 4.
else if(major1Group =5 or major2Group=5).
compute majorGroup = 5.
else if(major1Group =6 or major2Group=6).
compute majorGroup = 6.
else if(major1Group =7 or major2Group=7).
compute majorGroup = 7.
else if(major1Group =8 or major2Group=8).
compute majorGroup = 8.
else if(major1Group =9 or major2Group=9).
compute majorGroup = 9.
else if(major1Group =10 or major2Group=10).
compute majorGroup = 10.
else if(major1Group =11 or major2Group=11).
compute majorGroup = 11.
else if(major1Group =12 or major2Group=12).
compute majorGroup = 12.
ELSE if(major1Group =13 or major2Group=13).
compute majorGroup = 13.
else if(major1Group =14 or major2Group=14).
compute majorGroup = 14.
else if(major1Group =15 or major2Group=15).
compute majorGroup = 15.
end if.
......但我相信未来必须有更有效的方式。我的尝试:
begin program.
import spss,spssaux
vdict = spssaux.VariableDict
major1Group = vdict("major1Group")
major2Group = vdict("major2Group")
iterations = len(major1Group)
i = 1
majorGroup = []
while i <= iterations:
if ((major1Group == i) or (major2Group == i)):
majorGroup[i] = i
i = i+1
end program.
非常感谢你。我对SPSS和python都比较新,所以非常感谢任何帮助。
答案 0 :(得分:2)
只需一行代码即可获得相同的结果(参考spss语法代码):
COMPUTE majorGroup = MIN(major1Group, major2Group).