{ dat <-read_csv("data/time.csv") dat <- dat |>slice(1:5) |>select(start,end) dat %>%arrange(start) %>%mutate(interv =interval(start, end)) %>%mutate(prev_overlap =int_overlaps(interv, lag(interv)),prev_nextday =int_overlaps(interv, int_shift(lag(interv),days(1))), ) %>%mutate(prev_oa = prev_overlap | prev_nextday) %>%replace_na(list(prev_oa =FALSE)) %>%mutate(presc_id =cumsum(!prev_oa)) %>%group_by(presc_id) %>%summarise(start =min(start), end =max(end))}
Rows: 400 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (1): med
dbl (1): id
date (2): start, end
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.