1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
* ВОПРОС:
У меня есть большой массив данных и мне необходимо посмотреть
эффекты взаимодействия двух номинальных переменных
(первая с 4 категориями и вторая с 12 категориями)
в регрессионном анализе. Есть способ заставить SPSS
построить 33 переменных, означающих взаимодействия ((4-1)X(12-1)).

* ОТВЕТ. Автор: David Matheson (из SPSS). Размещён в SPSSX-L 06.04.2001;
В приведённом ниже коде я полагаю, что a - это ваша переменная с 4 категориями
и b - ваша переменная с 12 категориями. Я также полагаю, что вы используете
схему двоичного кодирования категориальных переменных, в которой базовой
(reference) является последняя категория. Иные варианты кодирования (как,
например, схема эффектов - effect coding, где базовая категория кодируется -1
вместо 0), потребуют немного более сложного решения.
*	Вам потребуется заменить a и b именами ваших переменных в логическом
выражении (a = #i) & (b= #j) во второй команде COMPUTE.


* sample data.
DATA LIST LIST /a b.
BEGIN DATA
1 1
2 2
3 3
4 4
1 5
2 6
3 7
4 8
1 9
2 10
2 11
3 12
END DATA.
LIST.

* Строим эффекты взаимодействия.
vector a1b a2b a3b  (11) .
vector x =  a1b1 to a3b11 .
loop #i = 1 to 3.
compute #k = (#i-1)*11.
loop #j = 1 to 11 .
compute x(#k + #j) = ((a = #i) & (b= #j)) .
end loop.
end loop.
execute.