[R] Problem with command apply

litao.ext litao.ext at gmail.com
Tue Jul 20 20:30:01 CEST 2010


yes, the matrix is symmetric.

But when I apply normalize upon rows, I expect to get the following result:
> apply( a, 1, normalize )
     [,1] [,2] [,3] [,4] [,5]
[1,] 0.00 0.25 0.50 0.75 1.00
[2,] 0.00 0.25 0.50 0.75 1.00
[3,] 0.00 0.25 0.50 0.75 1.00
[4,] 0.00 0.25 0.50 0.75 1.00
[5,] 0.00 0.25 0.50 0.75 1.00

Actually we can get asymmetric matrix like: 
> a = c(1:5) %*% t(1:5) 
> a
     [,1] [,2] [,3] [,4] [,5]
[1,]    5    4    3    2    1
[2,]   10    8    6    4    2
[3,]   15   12    9    6    3
[4,]   20   16   12    8    4
[5,]   25   20   15   10    5

> apply(a, 2, normalize)
     [,1] [,2] [,3] [,4] [,5]
[1,] 0.00 0.00 0.00 0.00 0.00
[2,] 0.25 0.25 0.25 0.25 0.25
[3,] 0.50 0.50 0.50 0.50 0.50
[4,] 0.75 0.75 0.75 0.75 0.75
[5,] 1.00 1.00 1.00 1.00 1.00
> 
> apply(a, 1, normalize)
     [,1] [,2] [,3] [,4] [,5]
[1,] 1.00 1.00 1.00 1.00 1.00
[2,] 0.75 0.75 0.75 0.75 0.75
[3,] 0.50 0.50 0.50 0.50 0.50
[4,] 0.25 0.25 0.25 0.25 0.25
[5,] 0.00 0.00 0.00 0.00 0.00

the latter result is very strange.
-- 
View this message in context: http://r.789695.n4.nabble.com/Problem-with-command-apply-tp2295845p2296018.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list