Sas值计数

时间:2015-02-18 01:55:29

标签: sas counting

我想要计算特定值在sas中的特定列中出现的时间。例如,在以下数据集中,值1出现3次 值2出现两次,值3出现一次,值4出现4次,值5出现四次。

Game_ball  
  1
  1 
  1
  2
  2
  3
  4
  4
  4
  5  
  5
  5
  5
  5

我希望数据集的表示如下:

Game_ball       Count
    1             3
    2             2
    3             1
    4             4 
    5             4
    .             .
    .             .
    .             .

提前致谢

1 个答案:

答案 0 :(得分:2)

根据@Dwal,proc freq是最简单的解决方案。

使用您的样本数据

proc freq data=sample; 
table game_ball/out=output;
run;

或者在一次通过数据步骤中进行

proc sort data = sample;by game_ball;run;

data output;
set sample;
retain count;
if first.game_ball then count = 0;
count + 1;
if last.game_ball then output;
by game_ball;
run;

或者在SQL

proc sql;
create table output as
select game_ball, count(*) as count
from sample
group by game_ball;
quit;