* Реструктурирование файла от "широкого" к "узкому" виду.
* Автор: Raynald Levesque, www.spsstools.net .
* Пример данных для иллюстрации работы.
DATA LIST LIST /id sit1 sit2 sit3 sit4 age.
BEGIN DATA
1 3 4 5 . 29
2 . 3 5 2 31
3 1 3 . 5 18
END DATA.
SAVE OUTFILE='c:\\temp\\mydata.sav'.
* Метод 1.
* Работает с любой версией SPSS.
VECTOR myvector = sit1 TO sit4.
LOOP sit=1 TO 4.
- COMPUTE evaluate=myvector(sit) .
- DO IF NOT SYSMIS(evaluate).
- XSAVE OUTFILE='c:\\temp\\tall data.sav' /KEEP=id age sit evaluate.
- END IF .
END LOOP.
EXECUTE.
GET FILE='c:\\temp\\tall data.sav'.
LIST.
* Метод 2.
* требуется версия 11 и выше.
GET FILE='c:\\temp\\mydata.sav'.
VARSTOCASES /MAKE evaluate FROM sit1 sit2 sit3 sit4
/INDEX = sit "sit"(4)
/KEEP = id age
/NULL = DROP.
LIST.
** Оба метода приводят к следующему представлению данных:
id age sit evaluate
1.00 29.00 1 3.00
1.00 29.00 2 4.00
1.00 29.00 3 5.00
2.00 31.00 2 3.00
2.00 31.00 3 5.00
2.00 31.00 4 2.00
3.00 18.00 1 1.00
3.00 18.00 2 3.00
3.00 18.00 4 5.00