* Группировка на квинтили на основе равных вкладов в общую сумму. (из SPSS AnswerNet) Задача: ввести группирующую переменную, которая принимала бы значения от 1 до 5. Значение 5 должно объединять наименьшие значения исходной переменной, которые дают суммарный 20%-й вклад в общую сумму значений. Значение 4 - следующую группу более крупных значений, которые также дают 20%-й вклад в общую сумму. И так далее. Значение 1 объединяет наиболее крупные значения, также дающие 20%-й вклад в общую сумму. В решении есть небольшой трюк, связанный с вычислением накопленной суммы переменной, значения которой группируем. Там используется команда LEAVE. Сама группировка после вычисления общей и накопленной сумм производится серией инструкций IF. *****. INPUT PROGRAM. LOOP #I = 1 TO 100. COMPUTE salesvol = TRUNC(UNIFORM(100000)) + 1 . END CASE. END LOOP. END FILE. END INPUT PROGRAM. COMPUTE cust_id = $casenum. COMPUTE dummy = 1. EXE. AGGREGATE /OUTFILE='AGGR.SAV' /BREAK=dummy /totl_vol = SUM(salesvol). MATCH FILES /FILE=* /TABLE='Aggr.sav' /BY dummy. EXE. SORT CASES BY salesvol (A) . COMPUTE cm_sale = cm_sale + salesvol. LEAVE cm_sale. FORMATS salesvol totl_vol cm_sale (DOLLAR8). EXE. IF cm_sale<=totl_vol quintile1=1. IF cm_sale< .8*totl_vol quintile1=2. IF cm_sale< .6*totl_vol quintile1=3. IF cm_sale< .4*totl_vol quintile1=4. IF cm_sale< .2*totl_vol quintile1=5. EXE.