Try this: > a <- 1:2 > b <- 1:3 > g <- array(do.call(c, apply(expand.grid(a = a, b = b), 1, list)), + dim = c(length(a), length(b))) > g [,1] [,2] [,3] [1,] Integer,2 Integer,2 Integer,2 [2,] Integer,2 Integer,2 Integer,2 > g[[2,3]] a b 2 3
On Mon, Mar 3, 2008 at 8:21 PM, Vadim Organovich <[EMAIL PROTECTED]> wrote: > Dear R Users, > > > > Given two vectors, say a = seq(2) and b = seq(3), I want to make an 2*3 > array, where (i,j) element is list(a=a[i], b=b[j]). I tried the outer() > function but it generates an error message that I don't understand, see below. > > > > What do I do wrong? > > > > The expan.grid function is not good enough since I need a solution that works > when a and b are not atomic, say a=list(list(x=1, y=2), list(x=2, y=1)). > > > > Thanks, > > Vadim > > > > > a <- seq(2); b <- seq(3) > > outer(a, b, function(a, b) list(a=a, b=b)) > Error in dim(robj) <- c(dX, dY) : > dims [product 6] do not match the length of object [2] > > > > > > [[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.