как суммировать наблюдения в SAS по группам? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть пример набора данных следующим образом

data have;
input match percent;
cards;
0   34
0   54
0   33
0   23
1   60  
1   70
1   70
1   70
;

По сути, я хочу суммировать наблюдения, связанные с 0, а затем разделить их на число 0 s, чтобы найти среднее. например, 34 + 54 + 33 + 23/4, затем сделайте то же самое для 1 's

Я посмотрел на PROC TABULATE. Однако я не понимаю, как выполнить эту процедуру.

Ответы [ 3 ]

0 голосов
/ 08 мая 2018

Это можно сделать очень легко, используя proc summary или proc means.

proc summary data=have nway missing;
class match;
var percent;
output out=want mean=;
run;

С помощью этих процедур вы можете также выводить множество других статистических данных.

0 голосов
/ 08 мая 2018

Вы можете использовать proc means, и вы получите среднее значение плюс кучу других характеристик: больше примеров здесь для proc means.

proc means data=have  noprint;
by match;
output out=want ;

Выход:

output mean

0 голосов
/ 08 мая 2018

Множество способов сделать это в SAS. Я бы использовал PROC SQL

proc sql noprint;
create table want as
select match, 
       mean(percent) as percent
   from have
   group by match;
quit;
...