Open karoliskoncevicius opened 3 months ago
This issue is a question whether rowScale and colScale belongs in matrixStats.
In base there is scale(), however it is not convenient:
scale()
X <- matrix(rnorm(100000000), ncol=1000) system.time(scale(X)) user system elapsed 17.748 2.032 19.825
The way I do scaling is now often like this:
system.time((X - colMeans(X)[col(X)]) / matrixStats::colSds(X)[col(X)]) user system elapsed 5.057 0.878 5.949
But that is awkward to write, and still not efficient (means are calculated for both colMeans and colSds, col(X) is there twice).
This issue is a question whether rowScale and colScale belongs in matrixStats.
In base there is
scale()
, however it is not convenient:The way I do scaling is now often like this:
But that is awkward to write, and still not efficient (means are calculated for both colMeans and colSds, col(X) is there twice).