繁体   English   中英

SAS中每个变量的平均行数

[英]Average number of rows per variable in 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 freqproc mean step,但到目前为止,我仅获得每个业务的行数(〜freq),并且不知道如何达到目标。

任何想法?

您可以使用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;

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM