Реструктурирование файла от «широкого» к «узкому» виду
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 47 48 49 50 51 52 | * Реструктурирование файла от "широкого" к "узкому" виду. * Автор: 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 |