全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1036 5
2015-04-03
刚学习SAS,很多不明白的地方,请各位高手指导。如果目前我有个数据集大概是这个样子的,那么我怎么可以分别求出每个科目,每个成绩等级的人数呢?谢谢各位的指导了!
QQ截图20150403213554.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-4-4 03:24:22
数学科目的count如下,其他依次类推:
data exam;                                                                                                                              
input num math $ eng $ chin $ b;                                                                                                        
cards;                                                                                                                                 
101301 pass pass pass 3                                                                                                                 
101302 fail fail fail 3                                                                                                                 
101303 pass fail great 3                                                                                                               
101304 great pass pass 3                                                                                                               
101305 great fail pass 3                                                                                                               
101306 great fail pass 3                                                                                                               
;                                                                                                                                       
run;                                                                                                                                    
proc print data=exam;run;                                                                                                               
proc sort data=exam out=new;                                                                                                            
by math;                                                                                                                                
run;                                                                                                                                    
proc print data=new;run;                                                                                                               
                                                                                                                                       
data count;                                                                                                                             
set new;                                                                                                                                
by math;                                                                                                                                
if first.math then count=0;                                                                                                            
count+1;                                                                                                                                
if last.math;                                                                                                                           
run;                                                                                                                                    
proc print data=count (keep=math count);                                                                                                
run;                     
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-4 09:39:30
dealbada 发表于 2015-4-4 03:24
数学科目的count如下,其他依次类推:
data exam;                                                      ...
谢谢您~~~嗯,好像有点明白了,思路就是对数学成绩排序,然后再计数,对吧。
可是,为什么出来的结果还是不对呢。我跑出来计数的结果是这样的。
obs math count
1     .       6
麻烦您了,谢谢~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-4 21:44:04
data exam;                                                                                                                              
input num math$ eng$ chin $ b;                                                                                                        
cards;                                                                                                                                 
101301 pass pass pass 3                                                                                                                 
101302 fail fail fail 3                                                                                                                 
101303 pass fail great 3                                                                                                               
101304 great pass pass 3                                                                                                               
101305 great fail pass 3                                                                                                               
101306 great fail pass 3                                                                                                               
;                                                                                                                                       
run;                                                                                                                                    
proc print data=exam;run;   
proc freq data=exam;run;
不知道你是要求这个不,run一下code看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-6 16:00:18
CharlieSunSH04 发表于 2015-4-4 09:39
谢谢您~~~嗯,好像有点明白了,思路就是对数学成绩排序,然后再计数,对吧。
可是,为什么出来的结果还是 ...
你输入数据有问题吧?
我得到如下结果:
-------------------------------------------------------
The SAS System          12:10 Sunday, April 3, 2011   7

                                     Obs    math     count

                                      1     fail       1
                                      2     great      3
                                      3     pass       2
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-6 16:06:12
对上面板凳的方法简单些。
proc freq data=exam;                                                                                                                    
table math eng chin;                                                                                                                    
run;   
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群