计算 R 中的时间帧精度

calculating timeframe accuracy in R

我正在尝试查看与出院相关的时间范围相关的预测准确性。

例如,我认为史密斯先生将在 3-7 天内出院,这意味着他可以在 2013 年 11 月 9 日至 11 月 13 日的任何一天出院。如果他在2天内出院,我会说我休息1天,如果他在10天内出院,我会休息3天...

有什么好的方法可以使用 dplyr、base R 和 lubridate 来做到这一点吗? TIA。示例数据位于 link:

Sample data

一个可能的解决方案是在 case_when.

中表达您的需求
library(dplyr) 
df %>%
  dplyr::mutate(DIF = case_when(discharge_calender_date < discharge_prediction_lower_bound ~ discharge_calender_date - discharge_prediction_lower_bound,
                                discharge_calender_date <= discharge_prediction_upper_bound ~ 0,
                                TRUE ~ discharge_calender_date - discharge_prediction_upper_bound))

这样,如果患者在下限之前离开,您将得到一个负值,如果他在预测范围内离开,您将得到零值;如果他在预测之后离开,您将得到一个正值。