【发布时间】:2017-06-12 20:56:47
【问题描述】:
我正在尝试计算 2015 年到急诊科 (ED) 就诊的患者的 30 天和 180 天再入院率,但我不太确定该怎么做。
我的数据框看起来像这样:
Visit # |Patient # | Admission Date | Discharge date
1 1 2015/01/01 2015/01/02
2 2 2015/01/01 2015/01/01
3 3 2015/01/01 2015/01/02
4 1 2015/01/09 2015/01/09
5 2 2015/04/01 2015/04/05
6 1 2015/05/01 2015/05/01
我希望有两个额外的列,其中包含一个二进制变量 [0,1],指示患者是否在 30 天和/或 60 天内重新入院。 在上面的例子中,患者 1 来 ED 3 次,1 月 2 次,5 月再次,因此我希望 readmit30 = 1 和 readmit180 = 1。患者 2 来 2 次,一次在 1 月,一次在 4 月,因此 readmit30 = 0 和 readmit60 = 1。 示例解决方案:
Visit # |Patient #| Admission Date | Discharge date | readmit30 | readmit180
1 1 2015/01/01 2015/01/02 1 1
2 2 2015/01/01 2015/01/01 0 1
3 3 2015/01/01 2015/01/02 0 0
4 1 2015/01/09 2015/01/09 1 1
5 2 2015/04/01 2015/04/05 0 1
6 1 2015/05/01 2015/05/01 1 1
我的数据集有大约 2000 次访问,大约有 1500 名患者。 任何帮助表示赞赏。
谢谢!
【问题讨论】:
-
欢迎来到 SO。一个可重现的数据集将非常有助于解决这个问题。听起来您要求滚动自我加入患者 ID 和入院日期,其中新入院日期在旧出院日期的 30 或 60 天内。这在
data.table中很容易做到,但您在 base R 中的选项可能需要遍历行。 -
你的意思是
Readmit180?您最初要求 180 天的重新接纳,然后参考 60 天的重新接纳。 -
是的,我的意思是 readmit180,我刚刚编辑了我最初的问题。谢谢
标签: r