On 18-04-2013, at 07:20, Sachinthaka Abeywardana <sachin.abeyward...@gmail.com> wrote:
> Hi All, > > I have the following problem (read the commented bit below): > > a<-matrix(1:9,nrow=3) > > > a > > [,1] [,2] [,3] > [1,] 1 4 7 > [2,] 2 5 8 > [3,] 3 6 9 > > > div<-1:3 > > apply(a,2,function(x)x/div) ##want to divide each column by div- > instead each row is divided## > > > [,1] [,2] [,3] > [1,] 1 4.0 7 > [2,] 1 2.5 4 > [3,] 1 2.0 3 > column 1 is c(1,2,3) and divided by your vector div gives the first column c(1/1,2/2,3/3) = c(1,1,1) and that is correct. column 3 is c(7,8,9) and divided by vector div gives c(7/1, 8/2 , 9/3) = c(7,4,3). Also correct. > apply(a,1,function(x)x/div) ##Changing Margin from 2 to 1 does > something completele weird## [,1] [,2] [,3] > [1,] 1.000000 2.000000 3 > [2,] 2.000000 2.500000 3 > [3,] 2.333333 2.666667 3 > You are dividing each row by vector div). The result for row 1 is the first column and so forth. Probably if you did t(…) you would get what you want/expect. > Any thoughts? > Your conclusions are incorrect. What is the result that you want (or expect)? Berend ______________________________________________ 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.