dat <- data.table::data.table(
id = c(1, 1, 1, 1, 2, 2, 2),
entry = as.Date(c(
"2021-01-01", "2021-01-20", "2021-02-28", "2021-06-01",
"2021-01-01", "2021-01-14", "2021-09-01"
)),
status = c(1, 1, 1, 1, 1, 1, 0),
x = rnorm(7)
)
dat[, exit := data.table::shift(entry, 1, type="lead"), by=id]
dat[, exit := replace(exit, .N, as.Date("2021-12-31")),
by = id]
res <- aggrsurv(dat,
breaks = c(182),
entry = "entry", exit = "exit", status = "status", id = "id"
)
print(res)
Run the code above in your browser using DataLab