SAS:多个患者的多个患者诊断

时间:2017-05-19 22:43:58

标签: sas bioinformatics

我有一个患者诊断数据集,每行一个诊断代码,导致患者在多行诊断。每位患者都有一个独特的患者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。

分析我想表演:

  1. 使用PROC FREQ计算每种疾病的频率。
  2. 使用PROC FREQ chi square表征每次诊断的年龄和种族关系。
  3. PROC Logistic确定在疾病X之上发展其他疾病的风险因素(年龄,种族,性别等)。
  4. 谢谢!

1 个答案:

答案 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;

我认为这是家庭作业,因为除了探索性分析之外,你不太可能在实践中这样做。