连续枚举/计算项目的出现次数

时间:2017-03-15 12:50:27

标签: r date filter count

我有一张看起来像这样的表:

subject_id | hadm_id |admittime          |dischtime | admission location

1          | 1000    |2153-09-03 07:15:00|2153-09-08 19:10:00 | EMERGENCY
2          | 1001    |2134-05-10 11:30:00|2134-05-20 13:16:00 | other 1
1          | 1002    |2122-05-14 19:37:00|2122-05-18 15:11:00 | other 2
4          | 1003    |2153-09-03 07:15:00|2153-09-08 19:10:00 | other 3
2          | 1004    |2153-09-03 07:15:00|2153-09-08 19:10:00 | other 4

我的目标是在第一个实例中(即第一次记录为id)和紧急情况下过滤那些具有“其他1”“2”“3”或“紧急”等的入场位置的id。下一个发病率。这些是医院数据。因此,我需要对入场和/或脱离时间进行过滤。

举个例子,我想获得一名于2016年8月21日去医院的病人的数据。 2016年8月31日,他再次来到医院,这次是紧急情况。 (如果不是紧急情况,我不希望在我的决赛桌上有这个id)。

最后,如果可以实施另一个约束,那就更好了:第一次和第二次或第二次和第三次访问之间的时间需要少于30天。

下表是我对输出的想象。即一栏显示了医院就诊的列举。在另一栏(重要?)中,访问之间是否有30天或更短的天数。另请注意,第二次访问必须为“紧急”。

subject_id | hadm_id |admittime          |dischtime | admission location| count of hospital visit | significant?

1          | 1000    |2140-05-03 07:15:00|2153-09-08 19:10:00 | other 2   |  1  | yes 
1          | 1002    |2140-05-14 19:37:00|2122-05-18 15:11:00 | EMERGENCY |  2  | yes
2          | 1001    |2134-05-10 11:30:00|2134-05-20 13:16:00 | other 1   |  1  | no
2          | 1004    |2153-09-03 07:15:00|2153-09-08 19:10:00 | other 4   |  2  | yes
2          | 1003    |2153-09-10 20:15:00|2153-09-08 19:10:00 | EMERGENCY |  3  | yes

0 个答案:

没有答案