Я работаю с большим набором данных в SPSS. Одна переменная представляет собой первый крупный ученик и имеет значения 1-15, относящиеся к 15 различным типам студентов-майоров. Вторая переменная такая же, но для второстепенных/двойных майоров.Объединение переменных в spss python
Я хочу объединить ответы в одну основную группу переменных.
Я получил его на работу следующим образом:
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, поэтому любая помощь очень ценится.
Прежде чем пытаться оптимизировать свой код, логику в коде, как она есть, или в по крайней мере, мне кажется, очень двусмысленно. Поскольку у вас это есть, конечный конец кодов курса будет иметь меньшую вероятность быть захваченным в вашей целевой переменной, поскольку он может присутствовать с более ранними кодами. Надеюсь, что я попытаюсь ответить на ваши вопросы. Возможно, вы могли бы прояснить свои цели здесь. –