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