Функции агрегирования
В приведенном ниже списке функций VARS означает список переменных или переменную.
N (VARS) - число объектов, для которых VARS определены;
N - без указания переменных - число объектов в агрегируемой группе;
MIN (VARS) - минимум;
MAX (VARS) - максимум;
SD (VARS) - стандартное отклонение;
PGT (VARS,значение) - процент объектов, у которых переменная имеет значение большее, чем указанное в команде;
PLT (VARS, значение) - процент объектов, у которых переменная имеет значение меньшее, чем указанное в команде;
PIN(VARS, значение1, значение2)- доля объектов, которые находятся в интервале [значение1, значение2];
POUT(VARS, значение1, значение2)- доля объектов, которые находятся вне интервала [значение1, значение2];
FGT (VARS, значение)
FLT (VARS, значение) FIN (VARS, значение1,значение2) FOUT (VARS, значение1,значение2) |
| | | | |
Это доли, но не в процентах; |
FIRST (VARS) - первое значение переменной;
LAST(VARS) - последнее значение переменной.
ЗАДАЧА. Получить на базе исходного агрегированный файл данных по городам (переменная G в файле OCT.SPS). Файл должен содержать переменные:
NG - число опрошенных в городе;
W1 - доля рассчитывающих на свои силы;
W2 - доля отрицательно относящихся к свободным зонам;
W3D1 TO W3D6 - доли по подсказкам на вопрос 3 о причинах не подписания договора;
W4 - доля считающих, что острова нужно отдать;
W8 - доля женщин; W9 - средний возраст;
W10 - доля лиц с высшим образованием;
WR - регион.
Все переменные, кроме W3D1 TO W3D6, могут быть непосредственно получены с использованием функций агрегирования; для формирования переменных W3D1 TO W3D6 придется специально подготовиться, пользуясь командой COUNT.
get file "D:oct.sav".
count d1 = v3s1 to v3s8(1)/ d2 = v3s1 to v3s8(2) / d3 = v3s1 to v3s8(3)
/d4 = v3s1 to v3s8(4) / d5 = v3s1 to v3s8(5) / d6 = v3s1 to v3s8(6).
Aggregate/out="D: aggr.sps"/break g/NG "число опрошенных в городе"=N/
W1 'рассч на св силы'=pin(v1,1,1)/
w2 '% отриц.относящ'=pin(v2,3,4)/w3d1 to w3d6=pgt(d1 to d6,0)/
w4 'мнен: острова отдать'=pin(v4,1,1)/
w8 'доля мужчин'=pin(v8,2,2)/
w9 'средний возраст'=mean(v9)/
w10 'доля с высшим образованием'=pin(v10,1,1)/
wr = first(r).
В новом файле будут созданы переменные W1 W2 W3D1 W3D2 W3D3 W3D4 W3D5 W3D6 W4 W8 W9 W10 WR. Так как после выполнения агрегирования остается активным исходный файл, чтобы начать работу с вновь созданным файлом необходимо вызвать его командой GET.
По данным нового файла можно, например, командой MEANS вычислить средние по регионам:
MEAN W3D1 TO W3D6 BY R.,
рассчитать корреляции долей по городам:
CORR W1 W2 WITH W3D1 TO W3D6/OPTIONS 5.
и т.д. Напомним, что объектами агрегированного файла данных являются города, и нужно серьезно подумать над интерпретацией получаемых статистик. В частности, среднее значение переменной W9 будет не средним возрастом, а средним средних возрастов по городам.