【发布时间】:2020-11-06 15:46:25
【问题描述】:
我正在尝试查看与出院相关的时间范围相关的预测准确性。
例如,我认为史密斯先生将在 3-7 天内出院,这意味着他在 11/9-11/13 的任何一天都是正确的。如果他在 2 天内出院,我会说我休息 1 天,如果他在 10 天内出院,我会说我休息 3 天...
有没有什么好的方法可以使用 dplyr、base R 和 lubridate 来做到这一点? TIA。示例数据在链接中:
【问题讨论】:
我正在尝试查看与出院相关的时间范围相关的预测准确性。
例如,我认为史密斯先生将在 3-7 天内出院,这意味着他在 11/9-11/13 的任何一天都是正确的。如果他在 2 天内出院,我会说我休息 1 天,如果他在 10 天内出院,我会说我休息 3 天...
有没有什么好的方法可以使用 dplyr、base R 和 lubridate 来做到这一点? TIA。示例数据在链接中:
【问题讨论】:
一个可能的解决方案是在 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))
这样,如果患者在下限之前离开,则您得到一个负值,如果他在预测范围内离开,则为零,如果他在预测之后离开,则为正值。
【讨论】:
case_when