楼主: beyondcj
3722 6

如何用sas程序对每个观测求满足条件的个数 [推广有奖]

  • 7关注
  • 1粉丝

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
1133 个
通用积分
0.4507
学术水平
5 点
热心指数
7 点
信用等级
5 点
经验
12857 点
帖子
260
精华
0
在线时间
255 小时
注册时间
2011-5-18
最后登录
2017-8-1

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设有如下数据
a  b  c  d  e
1  15  20 17  19
1  20  24  16  19
1  16  18  27  25
2  18  22  26  22
2  16  30  19  26
2  19  14  23  24
请问如何根据分组变量a,求每一个变量在该组与该组最大值的比例,如b在分组1中,有15/20、20/20、16/20,然后统计每个观测中大于某个比例(比如0.7)的个数,目的就要输出个数,请高手指教
二维码

扫码加我 拉你入群

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

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

关键词:sas程序 如何用 最大值 程序 如何

回帖推荐

沙发
bobguy 发表于 2011-12-27 11:46:50 |只看作者 |坛友微信交流群
See below in details,

data t1;
input
a  b ;
cards;
1  15  
1  20  
1  16  
2  18  
2  16  
2  19  
;

proc sql;
  select a ,  b/max(b)-0.8>0 as condition
  from t1
  group a
  ;
  quit;

***one step with subquery***;
proc sql;
  select a, sum(condition)
  from (
  select a ,  b/max(b)-0.8>0 as condition
  from t1
  group a )
  group by a
  ;
  quit;

使用道具

藤椅
Michael1941 发表于 2011-12-27 15:09:57 |只看作者 |坛友微信交流群
为什么第一段运行结果是             a  condition
                                     -------------------
                                            1       0.75
                                            1        0.8
                                            1          1
                                            2          1
                                            2   0.842105
                                            2   0.947368
为什么不是

                                            a  condition
                                     -------------------
                                            1       0.75
                                            1          1
                                            1        0.8
   哦 修改过select a ,  b/max(b) as condition

使用道具

板凳
shenliang_111 发表于 2011-12-27 17:08:47 |只看作者 |坛友微信交流群
  1. proc sql;
  2. select id,n,sum(a1>0.7,b1>0.7,c1>0.7,d1>0.7) as nn from
  3. (select id,monotonic() as n,
  4. a/max(a) as a1,b/max(b) as b1,
  5.   c/max(c) as c1,d/max(d) as d1 from a
  6. group by id) aa
  7. group by n
  8. order by n;
  9. quit;
复制代码

使用道具

报纸
beyondcj 发表于 2011-12-29 09:31:03 |只看作者 |坛友微信交流群
shenliang_111 发表于 2011-12-27 17:08
谢谢,不过monotonic() 是什么意思呀?

使用道具

地板
beyondcj 发表于 2011-12-29 10:10:46 |只看作者 |坛友微信交流群
shenliang_111 发表于 2011-12-27 17:08
monotonic()知道这个函数了,谢谢

使用道具

7
chendonghui1987 发表于 2012-3-3 21:06:34 |只看作者 |坛友微信交流群
顶楼主,我也需要

使用道具

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

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

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

GMT+8, 2024-4-30 18:50