R/medianScaling.R

Defines functions medianScaling

Documented in medianScaling

#' Median centering and scaling
#'
#' Median centering and scaling of an input numeric matrix
#'
#' @usage medianScaling(mat, scale=TRUE)
#'
#' @param mat a matrix with rows correspond to phosphosites and columns correspond to samples.
#' @param scale a boolean flag indicating whether to scale the samples.
#' @export
#'
medianScaling <- function(mat, scale=TRUE){
  library(limma)

  if (scale == TRUE) {
    normcont <- median(apply(mat, 2, median, na.rm=TRUE))
    adjval <- apply(mat, 2, median, na.rm=TRUE) - normcont
    mat.scaled <- normalizeMedianAbsValues(sweep(mat, 2, adjval, "-"))
    return(mat.scaled)
  } else {
    normcont <- median(apply(mat, 2, median, na.rm=TRUE))
    adjval <- apply(mat, 2, median, na.rm=TRUE) - normcont
    mat.unscaled <- sweep(mat, 2, adjval, "-")
    return(mat.unscaled)
  }
}
SydneyBioX/phosphoR documentation built on May 20, 2019, 12:58 a.m.