Try this: A <- list(matrix(c(2,3,3,1,2,2), 3, dimnames = list(NULL, letters[1:2])), matrix(c(3,3,2,5,1,3), 3, dimnames = list(NULL, letters[3:4])))
B <- list(matrix(c(1:5, 20*(1:5), 10+20*(1:5)), 5, dimnames = list(NULL, letters[5:7])), matrix(c(1:5, 10*(1:5), 10+10*(1:5)), 5, dimnames = list(NULL, letters[8:10]))) lapply(1:2, function(i) lapply(1:2, function(j) B[[i]][A[[i]][,j],])) On 10/29/06, Heymans, MW <[EMAIL PROTECTED]> wrote: > Dear list, > > I have this problem, please your advice. > > I have list A that contains two matrix elements: > [[1]] > a b > [1,] 2 1 > [2,] 3 2 > [3,] 3 2 > [[2]] > c d > [1,] 3 5 > [2,] 3 1 > [3,] 2 3 > > and list B, that also contains 2 matrices: > [[1]] > e f g > [1,] 1 20 30 > [2,] 2 40 50 > [3,] 3 60 70 > [4,] 4 80 90 > [5,] 5 100 110 > [[2]] > h i j > [1,] 1 10 20 > [2,] 2 20 30 > [3,] 3 30 40 > [4,] 4 40 50 > [5,] 5 50 60 > > Now I want to match each column of list A with each row of list B in such a > way that element 1 of list A corresponds to element 1 of list B (and element > 2 of A with 2 of B). > So, in total there will be 4 new matrices, 1 for each column of list A. For > example, for column a of list A the new matrix will be: > > 2 40 50 > 3 60 70 > 3 60 70 > > thanks, > Martijn > VUmc > Amsterdam > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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.