楼主: dc1015
2026 2

求助-有起止时间,但起止既有重复,又有不连贯的,如何计算天数? [推广有奖]

  • 0关注
  • 1粉丝

已卖:378份资源

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
226 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
289 点
帖子
21
精华
0
在线时间
131 小时
注册时间
2012-8-13
最后登录
2025-9-9

楼主
dc1015 发表于 2014-6-30 12:53:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

/*求助
我需要计算用药天数:(我的数据量比较大)
头孢唑啉使用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
;
二维码

扫码加我 拉你入群

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

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

关键词:cards begin Input 使用时间 card 如何 曲松

沙发
wwang111 发表于 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;

藤椅
dc1015 发表于 2014-7-1 16:41:13
还没试,先谢谢热心的大神

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 16:48