A matrix class that retains its attributes upon being subsetted or combined.
This is useful for storing metadata about a dimensionality reduction result alongside the matrix,
and for ensuring that the metadata persists when the matrix is stored inside
reduced.dim.matrix(x, ...) will return a reduced.dim.matrix object, given a matrix input
... should be named and are stored as custom attributes in the output.
Any arguments named
dimnames are ignored.
x[i, j, ..., drop=FALSE] will subset a reduced.dim.matrix
x in the same manner as a base matrix.
The only difference is that a reduced.dim.matrix will be returned, retaining any custom attributes in
Note that no custom attributes are retained if the return value is a vector with
rbind(...) will combine multiple reduced.dim.matrix inputs in
... by row,
cbind(...) will combine those inputs by column.
If the custom attributes are the same across all objects
a reduced.dim.matrix is returned containing all combined rows/columns as well as the custom attributes.
If the custom attributes are different, a warning is issued. A matrix is returned containing all combined rows/columns; no custom attributes are retained.
reducedDims, to store these objects in a SingleCellExperiment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Typical PC result, with metadata stored in the attributes: pc <- matrix(runif(500), ncol=5) attr(pc, "sdev") <- 1:100 attr(pc, "rotation") <- matrix(rnorm(20), ncol=5) # Disappears upon subsetting and combining! attributes(pc[1:10,]) attributes(rbind(pc, pc)) # Transformed into a reduced.dim.matrix: rd.pc <- reduced.dim.matrix(pc) attributes(rd.pc[1:10,]) attributes(rbind(rd.pc, rd.pc))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.