由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - sas help
相关主题
如何把一个variable中missing 的observation 付上非missing observation 的valueSAS how to change variables' name
请教:三道SAS BASE题a SAS problem
请问SAS大牛一个关于proc sql joinask for help (urgent): A SAS question
[合集] 问个SAS的问题问:how to select cases in SPSS
[合集] 初级傻问题,莫笑About ID in sas
求教proc sql 问题请教大家有没有简单的方法? 给新产生的variable赋一系列的值,谢谢!
问个sas的小问题。问一个sas改大量的variable name的问题
SAS问题求助!请教一个SAS问题,烦请大家帮我看看
相关话题的讨论汇总
话题: drugdesc话题: 10001话题: sas
进入Statistics版参与讨论
1 (共1页)
t*********e
发帖数: 143
1
Sas急需帮助
ID RXDATE DRUGDESC DAY_SUPPLY
10001 15DEC2008 ATORVASTATIN 30
10001 14JAN2009 ATORVASTATIN 30
10001 12FEB2009 ATORVASTATIN 30
10003 28FEB2009 SIMVASTATIN 30
10004 28MAR2009 SIMVASTATIN 30
10001 25APR2009 SIMVASTATIN 30
10005 07JUL2009 ATORVASTATIN 30
10005 05AUG2009 ATORVASTATIN 30
10005 03SEP2009 SIMVASTATIN 30
数据里面id是patient id, 现在产生一个table,列出每个patient有没有曾经接受过drugdesc里面2种药品的治疗
最终的结果希望是这样的
ID ATORVASTATIN SIMVASTATIN
10001 1 1
10003 0 1
10004 0 1
10005 1 1
另外也想做一个indicator variable.
对同一个病人,看看他是不是吃atorvastatin的时间早于simvastatin的时间,如果是indicator variable 赋值1, 否则0
请问如何用sas sql达成这个结果
s******r
发帖数: 1524
2
proc sql;
select id, count(distinct DRUGDESC)-1 as drugedesc_ind
from test
where DRUGDESC in ('ATORVASTATIN','SIMVASTATIN')
group by id;
quit;run;
proc sql;
select distinct a.id,
case when a.rxdate < b.rxdate then 1 else 0 end as indx
from test a inner join test b
on a.id=b.id
where a.DRUGDESC='ATORVASTATIN' and b.DRUGDESC='SIMVASTATIN';quit;run;

【在 t*********e 的大作中提到】
: Sas急需帮助
: ID RXDATE DRUGDESC DAY_SUPPLY
: 10001 15DEC2008 ATORVASTATIN 30
: 10001 14JAN2009 ATORVASTATIN 30
: 10001 12FEB2009 ATORVASTATIN 30
: 10003 28FEB2009 SIMVASTATIN 30
: 10004 28MAR2009 SIMVASTATIN 30
: 10001 25APR2009 SIMVASTATIN 30
: 10005 07JUL2009 ATORVASTATIN 30
: 10005 05AUG2009 ATORVASTATIN 30

R*********i
发帖数: 7643
3
Why it has to be sql? :-)
Assuming the variable rxdate is a numeric SAS date variable:
proc sql;
select coalesce(a.oldid1,b.oldid2) as id,
min(a.rxdate) as adate format=date9.,
min(b.rxdate) as sdate format=date9.,
(calculated adate>.) as ATORVASTATIN,
(calculated sdate>.) as SIMVASTATIN,
(. from test(rename=(id=oldid1) where=(drugdesc='ATORVASTATIN')) a full
join
test(rename=(id=oldid2) where=(drugdesc='SIMVASTATIN')) b
on a.oldid1=b.oldid2
group by a.oldid1,b.oldid2
order by id;
quit;
1 (共1页)
进入Statistics版参与讨论
相关主题
请教一个SAS问题,烦请大家帮我看看[合集] 初级傻问题,莫笑
SAS code求教求教proc sql 问题
A SAS Data Question问个sas的小问题。
慕名而来,请教一个 SAS date questionSAS问题求助!
如何把一个variable中missing 的observation 付上非missing observation 的valueSAS how to change variables' name
请教:三道SAS BASE题a SAS problem
请问SAS大牛一个关于proc sql joinask for help (urgent): A SAS question
[合集] 问个SAS的问题问:how to select cases in SPSS
相关话题的讨论汇总
话题: drugdesc话题: 10001话题: sas