non_active_function/median_ci.R

#----------------------------------------------------------------------------#

#' Calculate the confidence interval for a sample median. 
#' @export
#' @param TBC
#' @return Confidence interval [character vector]
#' @examples
#' TBC

median_ci <- function(var, ci=0.95, return_sd=TRUE, digit=2) {
  
  ci_comb <- 0000

  # calculate ci
  n <-nrow(as.matrix(var))
  if(qbinom((1-ci)/2,n,0.5)==0) {
    ci_comb <- NA
  }
  L <- qbinom((1-ci)/2,n,0.5)
  U <-n-L+1
 
  if(L>=U) {
    ci_comb <- NA
  }
  
  if (!is.na(ci_comb)) {
    order.var <-sort(var)
    res <-list()
    res$head <-paste(paste(as.character(ci*100),"%",sep=""), c("CI for population median"))
    res$ci   <-c(median=median(var),lower=order.var[L],upper=order.var[n-L+1])
    res$ends <-c("Estimate",paste(as.character(c((1-ci)/2,1-((1-ci)/2))*100),"%",sep=""))
    res$coverage  <-1-(2*pbinom(q=L-1,n,0.5))

    # combine
    ci_comb <- paste0(round(res$ci[["lower"]], digits=digit),  " - ", round(res$ci[["upper"]], digits=digit))

  }
  
  # return
  if (return_sd==TRUE) {
    return(c(NA, ci_comb))
  } else {
    return(ci_comb)
  }

}

#----------------------------------------------------------------------------#
ClaraMarquardt/ehR documentation built on May 6, 2019, 12:02 p.m.