作者jasonfun44 (kk123)
看板Statistics
標題[問題] 有關健保資料庫
時間Fri Nov 4 22:49:16 2016
使用軟體:SAS
熟悉度:
熟悉
問題:
我想計算每筆ID 就診不同科別的次數
以及ICD9CM_1 ICD9CM_2 ICD9CM_3共出現幾種不同的疾病
關於就診科別
我想說用
PROC SQL;
create table a as select *,
count(DISTINCT FUNC_TYPE) as times
from otpdte104
group by id,FUNC_TYPE
;RUN;QUIT;
然後再
PROC FREQ;
TABLES SEX*TIMES;
RUN;
看男女不同就診不同科別次數
但是關於ICD9診斷看每筆id被診斷出幾種疾病
我想說用
data long;set wide;
array incarray[3] ICD1-ICD3;
DO ICD= 1 TO 3
ICD9=incarry[ICD];
OUTPUT;
END;
drop ICD1-ICD3;
proc sql;
create table c as select*,
count (distinct ICD9) as complication
from long
group by id,ICD9;RUN;QUIT;
PROC FREQ;
TABLES SEX*complication;
run;
希望各位大大幫檢查我前面語法是否有錯或有其他問題!!感激不盡!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.217.147.205
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1478270958.A.582.html
※ 編輯: jasonfun44 (49.217.147.205), 11/04/2016 23:14:53
1F:推 imaltar: 你第一個 proc sql用select *, 最後a的筆數還是和原data 11/04 23:40
2F:推 imaltar: 一樣 11/04 23:51
3F:→ imaltar: 只是把times 併回原data 11/04 23:52
4F:→ jasonfun44: 有,所以我下面還有group by id,func_type 11/05 07:05
5F:推 imaltar: 如果只select id, func_type ,data確實會是distinct id 11/05 10:19
6F:→ imaltar: func_date的量, 但是又加了*, 最後的data會維持原本的資 11/05 10:20
7F:→ imaltar: 料量, 不然就要把*拿掉, 你可以跑完看一下log的綠字提醒 11/05 10:20
8F:→ jasonfun44: 真的~~太感謝大大點醒!!!感謝大大 11/05 12:11
9F:→ jasonfun44: 所以我改成proc sql;create table a as select id,fun 11/05 12:17
10F:→ jasonfun44: c_type,count(distinct func_type) from ipdte104 g 11/05 12:17
11F:→ jasonfun44: roup by id,func_type;run;quit;應該就能算出每筆id就 11/05 12:17
12F:→ jasonfun44: 診幾種不同科別是吧? 11/05 12:17