cbind2 {methods}R Documentation

Combine two Objects by Columns or Rows


Combine two “matrix-like” R objects by columns (cbind2) or rows (rbind2). These are (S4) generic functions with default methods.


cbind2(x, y)
rbind2(x, y)


x any R object, typically “matrix-like”.
y any R object, typically similar to x, or missing completely.


The main use of cbind2 (rbind2) is to be called by cbind() (rbind()) if these are activated. This allows cbind (rbind) to “work” for formally classed (aka ‘S4’) objects by providing S4 methods for these objects. Currently, a call
is needed to install a “cbind2-calling” version of cbind (into the base name space) and the same for rbind.
methods:::bind_activation(FALSE) reverts to the previous internal version of cbind which does not build on cbind2, see the examples.


A matrix (or matrix like object) combining the columns (or rows) of x and y.


x = "ANY", y = "ANY"
the default method using R's internal code.
x = "ANY", y = "missing"
the default method for one argument using R's internal code.

See Also

cbind, rbind.


cbind2(1:3, 4)
m <- matrix(3:8, 2,3, dimnames=list(c("a","b"), LETTERS[1:3]))
cbind2(1:2, m) # keeps dimnames from m

### Note: Use the following activation if you want cbind() to work
### ----  on S4 objects -- be careful otherwise!

methods:::bind_activation(on = TRUE)
cbind(a=1:3)# no call to cbind2()
cbind(a=1:3, four=4, 7:9)# calling cbind2() twice

## The following fails currently,
## since cbind() works recursively from the tail:
try( cbind(m, a=1, b=3) )

## turn off the `special cbind()' :

[Package methods version 2.5.0 Index]