全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
2027 2
2014-06-30

/*求助
我需要计算用药天数:(我的数据量比较大)
头孢唑啉使用3天,
头孢曲松使用3天,
加在一起使用时间是1-5日,共5天
再加上头孢克洛使用3天
一共使用8天。
这样有起止时间,但起止既有重复,又有不连贯的,如何计算天数。
*/
data tm;
input  drug $ begin:yymmdd10. end:yymmdd10. @@;
cards;
头孢唑林 2014-6-1 2014-6-3
头孢曲松 2014-6-2 2014-6-5
头孢克洛 2014-6-8 2014-6-10
;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-6-30 14:20:26
用的例子跟楼主的有差异,看看是不是符合要求:

data tm;
input subject $ drug $ begin:yymmdd10. end:yymmdd10. @@;
format begin end yymmdd10.;
cards;
001 A 2014-6-1 2014-6-3
001 B 2014-6-2 2014-6-5
001 C 2014-6-8 2014-6-10
002 A 2014-6-8 2014-6-13
002 B 2014-6-2 2014-6-5
002 C 2014-6-8 2014-6-10
;
proc sort data=tm;
by subject begin end;
run;

data dur;
set tm;
lagend=lag(end);
if subject ne lag(subject) then call missing(lagend);
if lagend>=begin then begin1=lagend+1;
else begin1=begin;
dur=end-begin1+1;
drop begin1 lagend;
run;

proc sql;
create table wanted as
select subject, sum(dur) as totdur
from dur
group by 1;
quit;
二维码

扫码加我 拉你入群

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

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

2014-7-1 16:41:13
还没试,先谢谢热心的大神
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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