Независимые столбцовые диаграммы для каждой категории группирующей переменной
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 | * (Вопрос) Мой массив данных включает списки выпускников средней школы: тех, кто продолжил образование (InSchool=1) и тех, кто не продолжил (InSchool=0). Массив также включает переменные "Пол" (Gender) и "Учебная программа" (TypeSchl), по которой было продолжено образование (выделяем 4-годичные, 2-годичные, менее, чем двухгодичные программы обучения). Нужна столбцовая диаграмма, показывающая разделения по типам программ между представителями разных полов, при условии, что InSchool=1. Т.е., первая часть графика показывает проценты по TypeSchl для всех женщин, а вторая - то же распределение, но для мужчин. Те, кто не продолжал обучение, в анализ не включаются. В каждой части графика сумма процентов должна быть равна 100. * (Ответ) размещён rlevesque@videotron.ca в SPSSX-L 29.01.2002. INPUT PROGRAM. LOOP id=1 TO 200. COMPUTE inschool=UNIFORM(1)<.5. COMPUTE gender=UNIFORM(1)<.5. COMPUTE typeschl=TRUNC(1+UNIFORM(3)). END CASE. END LOOP. END FILE. END INPUT PROGRAM. LIST /CASES=FROM 1 TO 10. SELECT IF inschool=1. * Подсчитываем частоту каждой категории. AGGREGATE /OUTFILE=* /BREAK= gender typeschl /id_1 = N(id). * Взвешиваем по частоте каждой категории, т.е. файл получается эквивалентным исходному файлу. WEIGHT BY id_1. * Подсчитываем частоты для мужчин и женщин, временно сохраняем во внешний временный файл. AGGREGATE /OUTFILE='c:\\temp\\temp.sav' /BREAK= gender /id_g = N(id_1). * Добавляем к текущему файлу частоты для мужчин и женщин из внешнего временного файла. MATCH FILES /FILE=* /TABLE='C:\\Temp\\temp.sav' /BY gender. * Подсчитываем и отображаем проценты (общий процент по полу равен 100). COMPUTE pc=(id_1/id_g)*100. VARIABLE LABEL pc 'Процент'. GRAPH /BAR(GROUPED)=MEAN(pc) BY gender BY typeschl /MISSING=REPORT. |