Среднее количество строк на переменную в SAS
У меня есть следующий набор данных:
data test;
input business_ID $;
datalines;
'busi1'
'busi1'
'busi1'
'busi2'
'busi3'
'busi3'
;
run;
proc freq data = test ;
table business_ID;
run;
Мне бы хотелось, чтобы среднее число строк по каждому бизнесу, то есть подсчитать общее количество наблюдений и разделить его на количество отдельных предприятий. В моем примере: 6 наблюдений, 3 предприятия -> 6/2=3 строки на бизнес.
Я думал об использовании proc freq
или proc mean
шаг, но до сих пор я получил только количество строк (~freq) на бизнес и не знаю, как добраться до своей цели.
Любая идея?
1 ответ
Решение
Вы можете использовать PROC FREQ, чтобы получить счетчик, а затем запустить PROC MEANS на выходе.
proc freq data=test ;
tables business_id / noprint out=counts ;
run;
proc means data=counts;
var count;
run;
Или вы можете посчитать их напрямую с помощью кода PROC SQL.
proc sql ;
select count(*)/count(distinct business_id) as mean_count
from test
;
quit;