* Как мне сравнить (наложить) 2 гистограммы? ******************************. * Первый метод. ******************************. * Автор ответа: Raynald Levesque, размещено в новостной группе 13.02.2003. GET FILE='c:\\program files\\spss\\employee data.sav'. * В данном примере сопоставляются распределения начальных (salbegin) и текущих (salary) заработков. Делим на интервалы в 5000 единиц. COMPUTE beg=TRUNC(salbegin/5000). COMPUTE sal=TRUNC(salary/5000). *Считаем частоты каждого интервала для каждой переменной с помощью команды агрегирования. SORT CASES BY beg. AGGREGATE OUTFILE='c:\\temp\\beg.sav' /PRESORTED /BREAK=beg /nbeg=n. SORT CASES BY sal. AGGREGATE OUTFILE=* /PRESORTED /BREAK=sal /nsal=n. *Сливаем файлы с частотами так, чтобы одинаковые уровни заработков находились в одном наблюдении. MATCH FILES FILE=* /RENAME=(sal=beg) /FILE='c:\\temp\\beg.sav' /BY=beg. * Отображаем два распределения с помощью линейного графика. GRAPH /LINE(MULTIPLE)= VALUE( nbeg nsal ) BY beg . ******************************. * Второй метод. ******************************. Date: Fri, 23 Jun 2000 20:38:37 -0400 Sender: "SPSSX(r) Discussion" From: Raynald Levesque Subject: Re: наложенные гистограммы Привет, Артур! Вот возможное решение: *Сгенерируем файл данных для демонстрации работы синтаксиса. NEW file. SET SEED=975316421. INPUT PROGRAM. - LOOP id=1 TO 50. - COMPUTE income=RV.NORMAL(35,5). - COMPUTE group=UNIFORM(1)>.5. - END CASE. - END LOOP. - END FILE. END INPUT PROGRAM. EXECUTE. SAVE OUTFILE='temp.sav'. GRAPH /HISTOGRAM=income . * далее мы смотрим на получившуюся диаграмму для оценки общего распределения переменной. В данном случае мы видим, что значения переменной лежат в интервале примерно от 25 до 50 единиц. Изменяя соответствующим образом параметры синтаксиса, приведённого ниже, мы управляем количеством интервалов, которые будут выведены на совмещённой гистограмме. В данном случае, прогоняя переменную cnt от 25 до 50 единиц мы задаём количество интервалов, а с помощью функции RANGE определяем ширину каждого интервала, которая в данном случае составит 5 единиц, т.е. центральная точка интервала +/- 2.5. LOOP cnt=25 TO 50 BY 5. - IF RANGE(income,cnt-2.5,cnt+2.4999) income1=cnt. END LOOP. EXECUTE. GRAPH /BAR(GROUPED)=COUNT BY income1 BY group /MISSING=REPORT.