Skip to content
Prev 180796 / 398506 Next

Using apply() and scale() in combination

Hello

I am an R newbie, and am coming against a couple of problems when I try and
apply the scale function across all the rows of a  matrix.

-------------------------
#I have a matrix "dt_l".
num [1:40962, 1:885] 3.04 4.1 3.4 3.58 3.77 ...

#I want to convert the values in each row of this matrix into standardised
values (mean 0, sd 1). I believe the command for doing this is "scale()",
with the defaults for this function being to set mean at 0 and sd at 1.
Therefore, my desired end-point is an object with the same dimensions as
dt_l.

So, I use this command..which I think should applying scale to every row of
matrix dt_l:
#This has led to two different sorts of problem:

(1) On some occasions when I have run the command I get an error warning
which includes the phrase

"error: can't allocate region..."

(2) On other occasions (when as far as I know I have entered the same
command), it runs. BUT, when I look at the object produced the dimensions
are different from dt_l ....
num [1:885, 1:40962] -0.679 -0.0882 0.1204 1.8571 0.8854 ...

----------------------------

I would be very grateful for any explanations/fixes that can be offered for
the above, or any suggestions of alternative ways of reaching my desired
end-point.

Yours hopefully

Armin