################################ ### HW3 Q11 ### Competing risks, no censoring: CIF_k(t) = P(T <= t, cause = k) = (# cause-k events by t) / N. ### N = 550; renal failure 158; death 82; t = 5 years. ### ! Rscript "/mnt/c/Users/kirch/OneDrive/Documents/dev/ut-11-hdi/docs/part2/hw3_q11.R" ################################ N = 550; renal = 158; death = 82 cif.renal = renal / N cif.death = death / N cat("CIF_renal(5) = 158/550 :", cif.renal, "\n") cat("CIF_death(5) = 82/550 :", cif.death, "\n") cat("event-free at 5 :", 1 - cif.renal - cif.death, " (", N - renal - death, "patients )\n") cat("difference :", cif.renal - cif.death, " ( = 76/550 )\n") cat("ANSWER (2 dp) :", round(cif.renal - cif.death, 2), "\n") # cross-check with survfit multi-state (Aalen-Johansen) on constructed data, all events at t=5 suppressMessages(library(survival)) st = factor(c(rep("renal", renal), rep("death", death), rep("censor", N - renal - death)), levels = c("censor", "renal", "death")) fit = survfit(Surv(rep(5, N), st) ~ 1) p = summary(fit, times = 5)$pstate; colnames(p) = fit$states cat("survfit cross-check P(state) at t=5:\n"); print(round(p, 4))