Как рассчитать сумму на группу в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *