I try to utilize some operations on rows in a matrix using command 'apply' but find a problem.
First I write a simple function to normalize a vector (ignore error handling) as follows: normalize = function( v ) { return( ( v-min(v) ) / ( max(v) - min(v) ) ) } The function works fine for a vector: > normalize( 1:5 ) [1] 0.00 0.25 0.50 0.75 1.00 Then I generate a matrix: > a = c(1:5) %*% t(1:5) > a [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 2 4 6 8 10 [3,] 3 6 9 12 15 [4,] 4 8 12 16 20 [5,] 5 10 15 20 25 The function works fine upon the columns: > 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 BUT it does not work upon the rows: > apply( a, 1, 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 Can anyone help me to solve this problem? Thanks in advance! -- View this message in context: http://r.789695.n4.nabble.com/Problem-with-command-apply-tp2295845p2295845.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@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.