d <- dplyr::tibble(
patient = c(1, 2, 3, 3, 4, 4, 4),
begin = c(0, 0, 0, 1, 0, 36, 39),
end = c(50, 6, 1, 16, 36, 39, 45),
covar = c("no", "no", "no", "yes", "no", "yes", "yes")
)
d
d |> long_to_periods(id = patient, start = begin, stop = end)
d |> long_to_periods(id = patient, start = begin, stop = end, by = covar)
# If stop not provided, it is deduced.
# However, it considers that observation ends at the last start time.
d |> long_to_periods(id = patient, start = begin)
Run the code above in your browser using DataLab