我有一个患者诊断数据集,每行一个诊断代码,导致多行患者诊断。每个患者都有一个唯一的患者 ID。我还有这些患者的年龄、种族、性别等数据。
在使用 PROC FREQ、Logistic、Univariate 等时,我如何向 SAS 表明它们是同一位患者?
这是数据外观的示例:
patientID diagnosis age gender lab
1 15.02 65 M positive
1 250.2 65 M positive
2 348.2 23 M negative
2 282.1 23 M negative
3 50 F positive
我得到了每个接受过某个实验室的患者的数据(无论阳性结果如何),以及他们所有的诊断,每个都出现在不同的行上(作为对 SAS 的不同观察)。首先,我需要排除每个实验室结果为阴性的患者,我计划对其使用 IF 语句。实验室确定患者是否患有疾病 X。一些患者除了疾病 X 之外没有任何其他疾病,例如患者 #3。
我想执行的分析:
谢谢!
您的问题的答案是默认情况下您不能。但是当你处理数据时,你可以很容易地解释它。IMO 保持很长时间更容易。
上面你问的问题太多了,我只回答一个,如何计算疾病x的人数。
Proc sort data = have out = unique_disease_patient nodupkey;
By patientID Diag;
Run;
Proc freq data = unique_disease_patient noprint;
Table disease / out = disease_patient_count;
Run;
请注意,这在 SQL 中要容易得多
Proc sql;
Create table want as
Select diag, count(distinct patientID)
From have
Group by diag;
Quit;
我假设这是家庭作业,因为除了探索性分析之外,您在实践中不太可能这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句