# Re: [R] Problem using apply

From: Peter Langfelder <peter.langfelder_at_gmail.com>
Date: Tue, 01 Jun 2010 10:45:14 -0700

Well, your example matrix is symmetric, so row and column operations naturally return the same values.

You may want to note though that if you apply your function to a matrix along rows, the results will be stored in the __columns__ of the resulting matrix. Thus, if you want to simply divide the rows of a matrix by their mean, you need to transpose the result.

Example:

m = matrix(c(0,1,2,5), 2,2)
m
apply( m, 1, divideByMean)
t(apply( m, 1, divideByMean)) # This is what you probably want.

HTH, Peter

On Tue, Jun 1, 2010 at 10:26 AM, Joachim de Lezardiere < joachim.lezard_at_gmail.com> wrote:

> Hello ,
>
>
>
> I can not get apply function to do what I want when doing stuff on rows.
> Let's say I want to divide the rows of matrix by their mean, the below show
> you get the same result weather you use 1 or 2, i.e. same result for
> columns
> than for means..:(
>
>
>
> Thanks a lot for the help,
>
>
>
>
>
>
>
> m = matrix( c(1,4,7,4,5,8,7,8,9), nrow = 3 )
>
>
>
> divideByMean = function( v ){
>
> return( v/mean(v))
>
> }
>
>
>
> rowMean = c( mean( m[1,]),mean( m[2,]),mean( m[3,]) )
>
> rowMean
>
>
>
> colMean = c( mean( m[,1]),mean( m[,2]),mean( m[,3]) )
>
> colMean
>
>
>
> m
>
> print("ByRow")
>
> apply( m, 1, divideByMean)
>
>
>
> print("ByCol")
>
> apply( m, 2, divideByMean)
>
>
>
>
>
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

[[alternative HTML version deleted]]

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Tue 01 Jun 2010 - 17:48:43 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 01 Jun 2010 - 17:50:26 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.