簡體   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