Bert wins the race: > system.time(replicate(1e5, m/rep(v,e=2))) user system elapsed 0.25 0.00 0.25 > system.time(replicate(1e5, m/matrix( v, ncol=ncol(m), nrow=nrow(m), > byrow=TRUE))) user system elapsed 0.42 0.00 0.42 > system.time(replicate(1e5, t(t(m)/v))) user system elapsed 1.31 0.00 1.33 > system.time(replicate(1e5, sweep(m, 2, v, "/"))) user system elapsed 3.39 0.00 3.40 > system.time(replicate(1e5, t(apply(m, 1, function(x) x/v)))) user system elapsed 5.04 0.01 5.06
David C -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Jeff Newmiller Sent: Wednesday, May 14, 2014 10:28 AM To: carol white; carol white; r-h...@stat.math.ethz.ch Subject: Re: [R] matrix column division by vector Please post in plain text... your email is getting distorted and hard to read by the HTML. I don't know how to use do.call for this, but when you understand how vectors recycle and matrices and arrays are laid out in memory (read the Introduction to R document if not) then the following comes to mind: mat2 <- m / matrix( v, ncol=ncol(m), nrow=nrow(m), byrow=TRUE ) --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --------------------------------------------------------------------------- Sent from my phone. Please excuse my brevity. On May 14, 2014 7:51:36 AM PDT, carol white <wht_...@yahoo.com> wrote: >Hi, >What is the elegant script to divide the columns of a matrix by the >respective position of a vector elements? > >m=rbind(c(6,4,2),c(3,2,1)) > >v= c(3,2,1) > >res= 6/3�� 4/2� 2/1 >������� 3/3�� 2/2 �� 1/1 > > >this is correct� >mat2 = NULL > >for (i in 1: ncol(m)) > >��� mat2 = cbind(mat2, m[,i]/ v[i]) > > >but how to do more compact and elegant with for ex do.call? > >Many thanks > >Carol > [[alternative HTML version deleted]] > > > >------------------------------------------------------------------------ > >______________________________________________ >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. ______________________________________________ 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. ______________________________________________ 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.