Hello.
There is a R package called pheatmap.
one of the pheatmap parameter is scale which normalize numeric values in row-wise or column-wise
I would like to know the formula of normalization process.
Is the Z-score normalization?
Hello.
There is a R package called pheatmap.
one of the pheatmap parameter is scale which normalize numeric values in row-wise or column-wise
I would like to know the formula of normalization process.
Is the Z-score normalization?
Not really a bioinformatics question, I think.
I good thing about open source is that you can download the code and check it yourself. I did so and found the following code in pheatmap.r file:
scale_rows = function(x){
m = apply(x, 1, mean, na.rm = T)
s = apply(x, 1, sd, na.rm = T)
return((x - m) / s)
}
scale_mat = function(mat, scale){
if(!(scale %in% c("none", "row", "column"))){
stop("scale argument shoud take values: 'none', 'row' or 'column'")
}
mat = switch(scale, none = mat, row = scale_rows(mat), column = t(scale_rows(t(mat))))
return(mat)
}
The second function chooses an action depending on the value of the variable scale
. The first function performs row-wise scaling (or col-wise on the transposed matrix). So, scale in this package means removing the mean (centering) and dividing by the standard deviation (scaling). Also, take a look at ?scale
for the base function. Why the author didn't use this function is not clear to me.