cbind2 {methods} | R Documentation |
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 |
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
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
.
the default method using R's internal code.
the default method for one argument using R's internal code.
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)
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)