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
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=
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
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:
>
[[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)
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
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
7 matches
Mail list logo