* Преобразования структуры файла с использованием CASESTOVARS и VARSTOCASES.
* (эти команды и визуальный мастер преобразований доступны, начиная с 12 версии SPSS).
*************.
* ПРИМЕР 1:
*************.
ВОПРОС: Имеется база данных, где разделённые во времени измерения одних и тех же объектов представлены
в разных строках/наблюдениях. Можно ли преобразовать эти данные в такой формат, где все наблюдения,
относящиеся к одному и тому же объекту (пусть и в разное время) были представлены набором переменных
в одной строке?
ОТВЕТ: Мастер преобразований (Restructure Wizard) поможет перестроить структуру файла от нескольких строк
на одно наблюдение к одной строке на наблюдение, добавив необходимое число переменных. Ниже приводится фрагмент кода,
полученного из меню Data...Restructure, вставка которого не требует значительных усилий в программировании.
DATA LIST /ID 2 TIME 5-11 (A) SCORE 13-14.
begin data.
1 before 73
1 during 77
1 after 84
2 before 58
2 after 95
3 before 68
3 during 70
3 after 75
end data.
LIST.
SORT CASES BY ID TIME .
CASESTOVARS
/ID = ID
/INDEX = TIME
/GROUPBY = VARIABLE .
* Изменим порядок следования переменных в файле.
MATCH FILES FILE=*
/KEEP=id before during after.
EXECUTE.
*************.
*ПРИМЕР 2:
*************.
ВОПРОС: Имеется база данных, где разного рода информация по одному человеку записана в одну строку.
Для моего анализа требуется, чтобы эта разнородная информация была представлена в нескольких строках с
сохранением в каждой строке кода человека, к которому эта информация относится. Я могу нанять программиста
для того, чтобы сделать такие преобразования, но на это уйдёт много времени. Нельзя ли в SPSS сделать это
относительно просто?
ОТВЕТ: Тот же мастер преобразований (Restructure Wizard) поможет перейти от структуры с одной записью на объект
к структуре с несколькими записями на объект. Полученный файл может быть использован в разных процедурах, в том числе,
в процедуре агрегирования (Aggregate).
DATA LIST /ID 2 GROUP 4 Grade1 6-7 Grade2 9-10 Grade3 12-13 Grade4 15-17.
BEGIN DATA.
1 1 11 13 15 18
2 1 12 18 16 25
3 2 11 13 13 14
4 2 18 20 . 29
5 3 13 13 13 18
6 3 9 15 21 35
END DATA.
LIST.
VARSTOCASES /ID = id1
/MAKE SCORES FROM Grade1 Grade2 Grade3 Grade4
/INDEX = Index(4)
/KEEP = GROUP
/NULL = KEEP
/COUNT = NUMRECORDS.