SAS:多条线路上的多个患者诊断
SAS: Multiple patient diagnoses on multiple lines
我有一个患者诊断数据集,每行一个诊断代码,导致多行患者诊断。每个患者都有一个唯一的 patientID。我还有这些患者的年龄、种族、性别等数据。
我如何在使用 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。
我想进行的分析:
- 使用 PROC FREQ 计算每种疾病的频率。
- 使用 PROC FREQ 卡方表征每次诊断的年龄和种族关系。
- PROC Logistic 用于确定在疾病 X 之上发展其他疾病的风险因素(年龄、种族、性别等)。
谢谢!
您问题的答案是默认情况下不能。但是当你处理数据时,你可以很容易地解释它。国际海事组织保持长期更容易。
你上面的问题问的太多了,我只回答一个,如何统计得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;
我假设这是家庭作业,因为除了探索性分析外,您不太可能在实践中这样做。
我有一个患者诊断数据集,每行一个诊断代码,导致多行患者诊断。每个患者都有一个唯一的 patientID。我还有这些患者的年龄、种族、性别等数据。
我如何在使用 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。
我想进行的分析:
- 使用 PROC FREQ 计算每种疾病的频率。
- 使用 PROC FREQ 卡方表征每次诊断的年龄和种族关系。
- PROC Logistic 用于确定在疾病 X 之上发展其他疾病的风险因素(年龄、种族、性别等)。
谢谢!
您问题的答案是默认情况下不能。但是当你处理数据时,你可以很容易地解释它。国际海事组织保持长期更容易。
你上面的问题问的太多了,我只回答一个,如何统计得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;
我假设这是家庭作业,因为除了探索性分析外,您不太可能在实践中这样做。