**130**wrote:

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?

Question: What is pheatmap's scale row?

0

agicict • **130** wrote:

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?

5

ddiez • **1.7k** wrote:

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.

Please log in to add an answer.

Use of this site constitutes acceptance of our User
Agreement
and Privacy
Policy.

Powered by Biostar
version 2.3.0

Traffic: 752 users visited in the last hour