【发布时间】:2021-05-18 01:05:35
【问题描述】:
我对此有点困惑,我可以利用社区的一些见解。假设由于不寻常的情况,患者不定期接受药物治疗:
Patient_Receiving_Schedule <- tibble(Medicine_Received = c(ymd("2019-01-01"), ymd("2019-01-20"), ymd("2019-02-01"), ymd("2019-06-01"), ymd("2019-06-15")),
Days_of_Medicine_Received = c(30,30,30,30,30))
在某些情况下,患者手头上的药物可能是之前装运的多余药物,而在其他一些情况下,患者会因为两次装运时间过长而没有药物或过期。理想的输出是这样的:
Patient_Receiving_Schedule <- tibble(Medicine_Received = c(ymd("2019-01-01"), ymd("2019-01-20"), ymd("2019-02-01"), ymd("2019-06-01"), ymd("2019-05-15")),
Days_of_Medicine_Received = c(30,30,30,30,30),
Days_of_Medicine_Available = c(30,41,59,30,46),
Notes = c("","","","Patient was 31 days overdue for medication",""))
Days_of_Medicine_Available 有点像 Medicine_Received 日期与 Days_of_Medicine_Received 之间的累积总和,但有规则,因为对 Days_of_Medicine_Available 的负值求和没有任何意义。
有没有办法通过调用 lag() 和一些围绕可用药物天数的累计值的逻辑来做到这一点?
非常感谢任何提示。
【问题讨论】: