R/data.quantileNormalize.r

#' Quantile normalization of a numerical matrix.
#'
#' Quantile normalization of a numerical matrix.
#' @param x - A data frame object of floating point numbers.
#' @export data.quantileNormalize
#' @examples
#' df.quantileNorm = data.quantileNormalize(df)
data.quantileNormalize = function(df){
  df_rank = apply(df,2,rank,ties.method="min")
  df_sorted = data.frame(apply(df, 2, sort))
  df_mean = apply(df_sorted, 1, mean)
  index_to_mean = function(my_index, my_mean){
    return(my_mean[my_index])
  }
  df_final = apply(df_rank, 2, index_to_mean, my_mean=df_mean)
  rownames(df_final) = rownames(df)
  return(df_final)
}
BRL-BCM/MolPhenoMatch documentation built on May 26, 2019, 6:38 a.m.