【发布时间】:2014-05-01 01:20:10
【问题描述】:
我有一个包含患者 ID 和种族的大型 SAS 数据集。这是一个纵向数据集,其中每次观察都代表一次对医院的访问。有许多观察结果缺少种族信息,但针对同一患者 ID 的其他访问已指示种族。我使用下面的代码来解决对缺少种族的给定患者 ID 的任何观察结果,只要另一次访问有该信息:
data need;
do until (last.id);
set have;
by id;
if not missing(race) then newrace=race;
if missing(race) then race=newrace;
output;
end;
run;
我的问题是 - 当患者在选项中显示多个种族时,我如何记录?我如何确定一个比其他人更占主导地位/压倒一切(即对于患者 342,有 3 个种族 = 2 的 obs 和 2 个种族 = 4 的 obs;我们想要任何种族 = 4 的指示来确定 newrace = 4对于所有 342 号患者的 obs)。
谢谢!
【问题讨论】:
-
我有点困惑,在您的示例中选择 race=4 的逻辑是什么?你总是选择价值最高的那个吗?一旦我知道了这一点,就会有一个直接的解决方案。
-
在患者数据库中,对于西班牙裔,race=(1,2,3,4,5) 和 race=4。在我们正在研究的人群中,任何西班牙裔的迹象(即使对同一患者的其他观察表明另一个种族)都超过了其他种族的迹象。发生这种情况的另一个例子是,如果患者是多种族的,并且可能在第一次就诊时表示种族=2,在第二次就诊时表示种族=4,在第三次就诊时表示种族=5。总的来说,我希望能够将此患者的所有种族重新编码为 =4。
标签: sas