我有一个患者诊断数据集,每行一个诊断代码,导致患者在多行诊断。每位患者都有一个独特的患者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。
分析我想表演:
谢谢!
答案 0 :(得分:2)
您的问题的答案是默认情况下不能。但是,当您处理数据时,您可以轻松地对其进行处理。 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;
我认为这是家庭作业,因为除了探索性分析之外,你不太可能在实践中这样做。