Исправление структуры файла, где каждая переменная занимает 10 колонок и 5 строк
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 | * Исправление структуры файла, где каждая переменная занимает 10 колонок и 5 строк. * (ВОПРОС) Предположим, имеется 8 переменных, каждая из которых содержит 50 наблюдений. При этом они расположены по 10 колонкам в 5 рядах. Переменные, таким образом, находятся в блоках, расположенных друг под другом. Задача - преобразовать данные так, чтобы каждая из 8 переменных занимала свою колонку. * (ОТВЕТ) Размещён в новостной группе 17.09.2000. Автор: rlevesque. * Следующая секция создаёт пример данных, описанной структуры. * (пусть Переменная 1 содержит 50 единиц, Переменная 2 - 50 двоек и т.д.). INPUT PROGRAM. * С помощью следующего вектора будем записывать информацию по колонкам. VECTOR c(10F8.0). LOOP #vars=1 TO 8. LOOP #rows=1 TO 5. LOOP #cols=1 TO 10. COMPUTE c(#cols)=#vars. END LOOP. END CASE. END LOOP. END LOOP. END FILE. END INPUT PROGRAM. LIST. *Во-первых, сохраним данные в файл с разделителями TAB. SAVE TRANSLATE OUTFILE='C:\\TEMP\\raw_data.dat' /TYPE=TAB /MAP /REPLACE. * Всё, что было выше - подготовительная работа. * Само преобразование делают следующие 7 строк синтаксиса. NEW FILE. INPUT PROGRAM. VECTOR DATA(50). * Если вы будете запускать этот синтаксис более одного раза за сессию работы с SPSS, закомментируйте следующую строку кода после первого запуска. FILE HANDLE rawdata /NAME='C:\\TEMP\\raw_data.dat'. DATA LIST FILE=rawdata FREE (TAB) /DATA1 TO DATA50. END INPUT PROGRAM. FLIP. * Уберём лишнее. MATCH FILES FILE=* /DROP=case_lbl. EXECUTE. |
Related pages
...