Как рассчитать сумму на группу в sas
Для расчета суммы значений по группам в SAS можно использовать следующие методы:
Способ 1: подсчитать сумму по группе
proc sql ;
select var1, sum(var2) as sum_var2
from my_data
group by var1;
quit ;
Способ 2: подсчитать сумму по нескольким группам
proc sql ;
select var1, var2, sum(var3) as sum_var3
from my_data
group by var1, var2;
quit ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в SAS:
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
B Guard 34
B Forward 19
B Forward 3
B Forward 8
;
run ;
/*view dataset*/
proc print data =my_data;
Пример 1. Вычисление суммы по группе
Следующий код показывает, как подсчитать сумму очков на команду:
/*calculate sum of points by team*/
proc sql ;
select team, sum(points) as sum_points
from my_data
group by team;
quit ;
Из результата мы видим, что игроки команды А набрали в общей сложности 94 очка, а игроки команды Б — 109 очков.
Пример 2: посчитать сумму по нескольким группам
Следующий код показывает, как рассчитать сумму очков, сгруппированных по командам и позициям:
/*calculate sum of points by team, grouped by team and position*/
proc sql ;
select team, position, sum(points) as sum_points
from my_data
group by team, position;
quit ;
В полученной таблице показана сумма очков, набранных игроками в зависимости от их команды и позиции.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как переименовать переменные в SAS
Как удалить дубликаты в SAS
Как заменить пропущенные значения нулями в SAS