[R] Multiplying elements of a list by rows of a matrix
arun
smartpink111 at yahoo.com
Sun Nov 11 19:40:53 CET 2012
Hi,
In this case, you could try:
res<-lapply(mapply(c,X,lapply(data.frame(t(tt[1:3,])),function(x) x),SIMPLIFY=FALSE),function(x) x[13:16]%*% matrix(x[1:12],ncol=3) )
res
#[[1]]
# [,1] [,2] [,3]
#[1,] 14.27 16.65 10.12
#[[2]]
# [,1] [,2] [,3]
#[1,] 10.14 5.17 18.28
#
#[[3]]
# [,1] [,2] [,3]
#[1,] 22.66 10.34 8.31
A.K.
----- Original Message -----
From: Clemontina Davenport <ckalexa2 at ncsu.edu>
To: r-help at 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)
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]]
without using a for loop? Each element of newlist will be 3 x 1 vector.
Thanks
--
Tina Alexander
______________________________________________
R-help at 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.
More information about the R-help
mailing list