Расположить переменные по именам в алфавитном порядке
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 | Решение SPSS AnswerNet Код решения: 100000547 Creating an alphabetized active file Описание: Вопрос. Мне нужно расположить переменные в файле данных по их именам в алфавитном порядке. Ответ. Попробуйте выполнить этот синтаксис. Он использует команду FLIP для транспонирования первого наблюдения из ваших данных. Это оборачивается созданием файла с одной переменной CASE_LBL и одним наблюдением для каждой переменной из исходного файла. Содержимое CASE_LBL - это имена переменных из исходного файла. Теперь мы сортируем наблюдения в новом файле по переменной CASE_LBL в алфавитном порядке, т.е., фактически, по именам переменных. Потом мы вновь транспонируем файл (FLIP), чтобы наблюдения вновь стали переменными (но уже расположенными в алфавитном порядке). Затем создаём вспомогательную переменную (TMP$$_X, либо вы можете выбрать своё имя) для того, чтобы слить затем этот новый файл данных с исходным. Затем мы сливаем новый и исходный файл с помощью ADD FILES. Важно указать имя нового файла на первом месте (в данном случае это указано как FILE=*, поскольку новый файл - активный), поскольку в командах ADD FILES и MATCH FILES именно первый файл определяет "словарь" (dictionary, т.е. метаданные, в т.ч. и порядок переменных) результирующего файла. После слияния мы используем SELECT IF чтобы убрать единственное "искусственное" наблюдение, которое было нужно нам лишь для определения порядка переменных. Теперь сохраняем получившийся файл, избавляясь попутно от переменных CASE_LBL и TMP$$_X. Потом открываем сохранённый файл и смотрим на результат. SAVE OUTFILE 'c:\\temp\\temp.sav'. SELECT IF ($CASENUM = 1). FLIP. SORT CASES BY CASE_LBL. FLIP NEWNAMES = CASE_LBL. COMPUTE TMP$$_X=1. ADD FILES FILE=* / FILE= 'c:\\temp\\temp.sav'. SELECT IF MISSING(TMP$$_X) . SAVE OUTFILE 'c:\\temp\\alphasrt.sav' / DROP CASE_LBL TMP$$_X. GET FILE 'c:\\temp\\alphasrt.sav'. *Решение создано: 29.04.1999. |
Related pages
...