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 freq
或 proc mean
步骤,但到目前为止我只得到每个业务的行数 (~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;
我有以下数据集:
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),不知道如何实现我的目标.
有什么想法吗?
您可以使用 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;