楼主: willypan
3340 6

请教,关于proc freq [推广有奖]

  • 1关注
  • 0粉丝

博士生

39%

还不是VIP/贵宾

-

威望
0
论坛币
238 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3323 点
帖子
249
精华
0
在线时间
212 小时
注册时间
2009-8-25
最后登录
2022-9-18

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
需要统计疾病的患病人数顺位,现有近千种疾病,怎样才能只显示患病人数最多的十种疾病?或者用其他什么过程能达到目的?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:freq Fre REQ ROC 请教 proc freq

沙发
sushe1527 发表于 2009-10-27 15:38:48 |只看作者 |坛友微信交流群
--------------------------------

使用道具

藤椅
willypan 发表于 2009-10-27 16:04:15 |只看作者 |坛友微信交流群
2# sushe1527

谢谢,不过您给的方法是已知各疾病的患病人数,现在各疾病的患病人数需要统计。即,已知的资料为:
data x;
input id  dis $;
cards;
1  a
2  b
3  a
4  c
5  d
6  b
7  a
8  c
9  c
10 a
;
run;

现只需要输出人数最多的前两种疾病及人数,即a 4;c 3.如何操作?

使用道具

板凳
sushe1527 发表于 2009-10-27 16:33:12 |只看作者 |坛友微信交流群
data x;
input id  dis $;
cards;
1  a
2  b
3  a
4  c
5  d
6  b
7  a
8  c
9  c
10 a
;
run;
proc sql ;
create table b as select distinct(dis),count(dis) as count from x
group by dis  order  count desc;
create table final as select * from b(obs=2);quit;

使用道具

报纸
liyiheng 发表于 2009-10-28 06:24:16 |只看作者 |坛友微信交流群
proc freq data = disease order=freq;
tables id freq;
run;

使用道具

地板
willypan 发表于 2009-10-28 10:04:04 |只看作者 |坛友微信交流群
4# sushe1527
非常管用!
data x;
input id  dis$;
cards;
1  a
2  b
3  a
4  c
5  d
6  b
7  a
8  c
9  c
10 a
;
run;
proc sql ;
   create table b as select distinct(dis),count(dis) as count from x
   group by dis  order  count desc;
proc tabulate data=b(obs=2);
     class dis;
     var count;
     table dis,count;
     keylabel sum='患病人数';
     label dis='疾病名称' count='疾病顺位';
run;
用tabulate勉强可以做成输出的格式。郁闷的是sas这么大的软件这点问题都不能直接解决。

使用道具

7
sushe1527 发表于 2009-10-28 10:23:33 |只看作者 |坛友微信交流群
美化表格用html


未命名.gif
已有 1 人评分热心指数 收起 理由
willypan + 1 好的意见建议

总评分: 热心指数 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 15:55