我想要计算特定值在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
. .
. .
. .
提前致谢
答案 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;