#' This function returns confidence intervals
#'
#' @param corrng Table with annotations and correlation coefficients
#' @param confidence Confidence level (between 0 and 1)
#' @return Stack of CorMatrices containing correlation coefficients (first layer) along with minimum, maximum and median values from bootstrapping (second, third and fourth layer)
#' @export
getCIs<-function(corrng, confidence = 0.95) {
  # check input arguments
  if(!is.list(corrng)) stop("corrng must be a list")
  # treat NA values as zero correlation
  corrng[[4]][is.na(corrng[[4]])] <- 0
  # sort correlation coefficients
  corrng[[4]] <- apply(corrng[[4]], c(1,2), sort)
  corrng[[4]] <- aperm(corrng[[4]], c(2,3,1))
  # retrieve start/end of confidence intervals and median correlation coefficient
  replicates <- dim(corrng[[4]])[3]
  tail <- round(0.5*(1-confidence)*replicates)
  start_index <- tail
  end_index <- replicates - tail + 2
  res1 <- new("CorMatrix", coord1 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), coord2 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), cormat = corrng[[5]])
  res2 <- new("CorMatrix", coord1 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), coord2 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), cormat = as.data.frame(corrng[[4]][, , start_index]))
  res3 <- new("CorMatrix", coord1 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), coord2 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), cormat = as.data.frame(corrng[[4]][, , end_index]))
  res4 <- new("CorMatrix", coord1 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), coord2 = data.frame(corrng[[1]],corrng[[2]],corrng[[3]]), cormat = as.data.frame(corrng[[4]][, , 1+replicates/2]))
  # return correlation coefficients and start/end positions of confidence intervals
  return(list(res1,res2,res3,res4))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.