bind {hyperSpec} | R Documentation |
Two S3 functions cbind.hyperSpec
and rbind.hyperSpec
act
as an interfaces to cbind2
and rbind2
because neither
rBind
and cBind
nor S4
versions of cbind
and rbind
do work at the moment.
cbind.hyperSpec (..., deparse.level) rbind.hyperSpec (..., deparse.level) ## S4 method for signature 'hyperSpec, hyperSpec': cbind2(x, y) ## S4 method for signature 'hyperSpec, hyperSpec': rbind2(x, y) ## S4 method for signature 'hyperSpec, missing': cbind2(x, y) ## S4 method for signature 'hyperSpec, missing': rbind2(x, y) bind(direction = stop("direction ('c' or 'r') required"), ..., short = NULL, user = NULL, date = NULL)
... |
The hyperSpec objects to be combined.
Alternatively, one list of hyperSpec objects can be
given to bind . |
deparse.level |
ignored. |
short, user, date |
for the log |
x, y |
hyperSpec objects |
direction |
"r" or "c" to bind rows or columns |
While it is now possible to do S4 despatch on ...
, defining
such S4 methods for cbind
and rbind
breaks the binding
of Matrix
objects. Therefore, two S3 methods
rbind.hyperSpec
and cbind.hyperSpec
are defined.
rbind2
binds two hyperSpec
objects by row. They need to
have the same columns.
cbind2
binds the spectral matrices of two hyperSpec
objects by column. All columns besides spc
with the same name
in x@data
and y@data
must have the same elements.
Rows are ordered before checking.
bind
does the common work for both column- and row-wise binding.
a hyperSpec
object, possibly with different row order (for
bind ("c", ...)
and cbind2
).
You might have to make sure that the objects either all have or all do not have rownames and/or colnames.
C. Beleites
rBind
, cBind
rbind2
, cbind2
rbind
, cbind
chondro bind ("r", chondro, chondro) rbind (chondro, chondro) cbind (chondro, chondro) bind ("r", list (chondro, chondro, chondro)) x <- chondro[,, 600 : 605] x$a <- 1 x@data <- x@data[, sample (ncol (x), ncol (x))] # reorder columns y <- chondro [nrow (chondro) : 1,, 1730 : 1750] # reorder rows y$b <- 2 cbind2 (x, y) # works y$y[3] <- 5 try (cbind2 (x, y)) # error