R/ise.R

Defines functions ise

Documented in ise

#' Trapezoidal approximation to integrated square error (ISE) for the survival function.
#'
#' @param x Distinct, observed event times 
#' @param surv_est Estimated survival function at each value in \code{x}
#' @param surv_true True survival function at each value in \code{x}
#'
#' @return A scalar function value
#'
#' @export
#'
ise <- function(x, surv_est, surv_true) {
  # Reorder all arguments ascendingly by x 
  surv_est <- surv_est[order(x)]
  surv_true <- surv_true[order(x)]
  x <- x[order(x)]
  # Calculate (\hat{f}(x) - f(x))^2 for all x
  sub2 <- (surv_est - surv_true) ^ 2
  # Calculate differences for all x
  diff_x <- x[- 1] - x[- length(x)]
  sum_sub2 <- sub2[- 1] + sub2[- length(sub2)]
  # Multiply (diff_x)(diff_sub2)
  mult_diff <- sum_sub2 * diff_x
  # Return ISE
  return(1 / 2 * sum(mult_diff))
}
sarahlotspeich/sieveSurv documentation built on Feb. 14, 2022, 5:10 a.m.