Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-12 Thread Clemontina Davenport
Thank you all for your responses, the lapply works perfectly. The example I gave IS odd. I only realized after I posted that tt had 5 rows and should have only had 3, so I apologize for that (I initially had X to have 5 list elements). Bert, I tend to use for loops in excess and often unnecessaril

Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread William Dunlap
Sunday, November 11, 2012 10:41 AM > To: Clemontina Davenport > Cc: R help > Subject: Re: [R] Multiplying elements of a list by rows of a matrix > > Hi, > In this case, you could try: > > res<-lapply(mapply(c,X,lapply(data.frame(t(tt[1:3,])),function(x) > x),SIMPLIFY=

Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread Rui Barradas
Hello, I don't think he advantage here is speed but simplicity, lapply does it in one line of code. Rui Barradas Em 11-11-2012 18:02, Bert Gunter escreveu: Clemontina: As you have seen, the answer is yes, but my question is why bother? What's wrong with a for() loop? lapply() should offer no

Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread Bert Gunter
Clemontina: As you have seen, the answer is yes, but my question is why bother? What's wrong with a for() loop? lapply() should offer no advantage in speed over a loop. Vectorization could, but lapply() is not vectorization. -- Bert On Sun, Nov 11, 2012 at 8:33 AM, Clemontina Davenport wrote: >

Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread arun
[[3]]  #     [,1]  [,2] [,3] #[1,] 22.66 10.34 8.31 A.K. - Original Message - From: Clemontina Davenport To: r-help@r-project.org Cc: Sent: Sunday, November 11, 2012 11:33 AM Subject: [R] Multiplying elements of a list by rows of a matrix Hi all, I have the following code: set.seed(1)

Re: [R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread Rui Barradas
Hello, Thanks for the data example. Try lapply(seq_along(X), function(i) tt[i,] %*% X[[i]]) Hope this helps, Rui Barradas Em 11-11-2012 16:33, Clemontina Davenport escreveu: Hi all, I have the following code: set.seed(1) x1 <- matrix(sample(1:12), ncol=3) x2 <- matrix(sample(1:12), ncol=3) x

[R] Multiplying elements of a list by rows of a matrix

2012-11-11 Thread Clemontina Davenport
Hi all, I have the following code: set.seed(1) x1 <- matrix(sample(1:12), ncol=3) x2 <- matrix(sample(1:12), ncol=3) x3 <- matrix(sample(1:12), ncol=3) X <- list(x1,x2,x3) tt <- matrix(round(runif(5*4),2), ncol=4) Is there a way I can construct a new list where newlist[[i]] = tt[i,] %*% X[[i]] wi