cbind2 {methods}R Documentation

Combine two Objects by Columns or Rows

Description

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

Usage

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

Arguments

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

Details

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
methods:::bind_activation(TRUE)
is needed to install a “cbind2-calling” version of cbind (into the base namespace) 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.

Value

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

Methods

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.

Examples

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)
trace("cbind2")
cbind(a=1:3)# no call to cbind2()
cbind(a=1:3, four=4, 7:9)# calling cbind2() twice
untrace("cbind2")



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

## turn off the `special cbind()' :
methods:::bind_activation(FALSE)

[Package methods version 2.4.1 Index]