#' Cumulative sum scaling factors.
#'
#' Calculates each column's quantile and calculates the sum up to and including
#' that quantile.
#'
#'
#' @param obj A matrix or MRexperiment object.
#' @param p The pth quantile.
#' @param sl The value to scale by (default=1000).
#' @return Returns a matrix normalized by scaling counts up to and including
#' the pth quantile.
#' @seealso \code{\link{fitZig}} \code{\link{cumNorm}}
#' @examples
#'
#' data(mouseData)
#' head(cumNormMat(mouseData))
#'
cumNormMat <-
function(obj,p= cumNormStatFast(obj),sl = 1000){
####################################################################################
# Calculates each column's quantile
# and calculated the sum up to and
# including that quantile.
####################################################################################
x = returnAppropriateObj(obj,FALSE,FALSE)
xx=x
xx[x==0] <- NA
qs=colQuantiles(xx,probs=p,na.rm=TRUE)
newMat<-sapply(1:ncol(xx), function(i) {
xx=(x[,i]-.Machine$double.eps)
sum(xx[xx<=qs[i]])
})
nmat<-sweep(x,2,newMat/sl,"/")
return(nmat)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.