Skip to content

Generalised rbind/cbind

2 messages · Hadley Wickham, Marc Schwartz

#
Dear list,

Is there a generalised form of rbind/cbind for combining
matrices/arrays into higher-D structures?  ie. if I have:

a <- matrix(2,2,2)
b <- matrix(3,2,2)

how can I get

array(rep(c(3,2), each=4), c(2,2,2))

?

It seems like this would be the job of a generalised abind function:
abind(a,b, along=1) == rbind(a,b)
abind(a,b, along=2) == cbind(a,b)
abind(a,b, along=3) ==array(rep(c(3,2), each=4), c(2,2,2))

Thanks,

Hadley
#
On Fri, 2005-10-21 at 17:42 -0500, hadley wickham wrote:
Hadley,

You just described the abind() function in the 'abind' package by Tony
Plate and Richard Heiberger.

HTH,

Marc Schwartz