作者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/m.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