У меня есть набор данных о днях госпитализации и выписки, из которых я хочу рассчитать количество занятых коек для каждого календарного дня периода в три года. Я использую пакеты tidyverse и lubridate.
Мой подход до сих пор заключался в том, чтобы преобразовать столбцы разрешения / выгрузки в интервал (данные чувствительны, поэтому я не могу поделиться фактическими датами):
d <- d %>%
mutate(duration = admit %--% discharge)
, а затем создать столбец, где каждая строка соответствует временному диапазону, плюс столбец нулей, который может быть добавлен в a для l oop:
t <-
tibble(
days = as.Date(date("2017-01-01"):date("2019-12-31")),
count = 0
)
К сожалению, я не могу понять, как создать для l oop это будет сумма дней, которые попадают в каждый интервал. Вот моя попытка, которая пока дает мне одинаковые значения 24:
for(i in timeline$days) {
if (i %within% d$duration)
timeline$count = timeline$count + 1
}