作者jasonfun44 (kk123)
看板Statistics
标题[问题] 计算住院档人年
时间Wed Apr 17 16:37:02 2019
如果是跟统计软体有关请重发文章,使用程式做为分类。
统计软体,如SPSS, AMOS, SAS, R, STATA, Eviews,请都使用程式做为分类
请详述问题内容,以利板友帮忙解答,过短文章依板规处置,请注意。
为避免版面混乱,请勿手动置底问题,善用E做档案编辑
想利用sas计算不同年份住院档总人年,但是针对跨年份的住院资料不知道该怎麽处理
有尝试过设条件式,但算出来数字还是很怪,恳请各位大大指导,谢谢。
%macro a;
%do year=2006 %to 2009;
data temp&year;set h_nhi_ipdte;
where in_year<="&year."<=out_year;
format first_date last_date yymmdd10.;
first_date=mdy(1,1,&year);
last_date=mdy(12,31,&year);
if in_date<=first_date and out_date<=last_date then do;
dur=input(out_date,yymmdd10.)-first_date;
end;
if in_date>=first_date and out_date<=last_date then do;
dur=input(out_date,yymmdd10.)-input(in_date,yymmdd10.);
end;
if in_date<=first_date and out_date>=last_date then do;
dur=input(last_date,yymmdd10.)-first_date;
end;
if in_date>=first_date and out_date>=last_date then do;
dur=last_date-input(in_date,yymmdd10.);
end;
run;
proc append base=input data=temp&year force;quit;%end;
%mend;%a;
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.85.83.97
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1555490224.A.6E8.html
1F:→ x1234567: 是有个日期栏位判断吗?可用year() 04/19 22:47
2F:推 west1996: 怪是指算出来的数字太大太小吗?还是语法无法跑? 04/20 00:20
3F:→ jasonfun44: 数字太大 04/22 18:09