#' 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)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.