################################
### HW1 Q8
### Censored exponential MLE: lambda-hat = sum(delta_i) / sum(x_i).
### Patient 5 gets corrected from event (delta=1) to censored (delta=0).
### Find lambda_new - lambda_old.
### ! Rscript "/mnt/c/Users/kirch/OneDrive/Documents/dev/ut-11-hdi/docs/part1/q8.R"
################################

x         = c(3.8, 0.4, 2.3, 1.5, 11.1, 1.8)
delta.old = c(0,   1,   0,   1,   1,    0)
delta.new = c(0,   1,   0,   1,   0,    0)   # patient 5 now censored

cat("total observed time sum(x) [same in both] :", sum(x), "\n")

lambda.old = sum(delta.old) / sum(x)
lambda.new = sum(delta.new) / sum(x)
cat("lambda_old = 3 events / 20.9              :", lambda.old, "\n")
cat("lambda_new = 2 events / 20.9              :", lambda.new, "\n")
cat("difference lambda_new - lambda_old        :", lambda.new - lambda.old, "\n")
cat("ANSWER (2 dp)                             :", round(lambda.new - lambda.old, 2), "\n")

# cross-check with survreg (lambda = exp(-Intercept))
suppressMessages(library(survival))
l.old = exp(-survreg(Surv(x, delta.old) ~ 1, dist = "exponential")$coef)
l.new = exp(-survreg(Surv(x, delta.new) ~ 1, dist = "exponential")$coef)
cat("survreg cross-check of the difference     :", unname(l.new - l.old), "\n")
