Last data update: 2014.03.03
|
R: Extracts one cell per row (column) from a matrix
rowCollapse | R Documentation |
Extracts one cell per row (column) from a matrix
Description
Extracts one cell per row (column) from a matrix.
The implementation is optimized for memory and speed.
Usage
rowCollapse(x, idxs, rows=NULL, dim.=dim(x), ...)
colCollapse(x, idxs, cols=NULL, dim.=dim(x), ...)
Arguments
x |
An NxK matrix .
|
idxs |
An index vector of (maximum) length N (K) specifying the
columns (rows) to be extracted.
|
rows, cols |
A vector indicating subset of rows (and/or columns)
to operate over. If NULL , no subsetting is done.
|
dim. |
An integer vector of length two specifying the
dimension of x , also when not a matrix .
|
... |
Not used.
|
Value
Returns a vector of length N (K).
Author(s)
Henrik Bengtsson
See Also
Matrix indexing to index elements in matrices and arrays,
cf. [ ().
Examples
x <- matrix(1:27, ncol=3)
y <- rowCollapse(x, 1)
stopifnot(identical(y, x[,1]))
y <- rowCollapse(x, 2)
stopifnot(identical(y, x[,2]))
y <- rowCollapse(x, c(1,1,1,1,1,3,3,3,3))
stopifnot(identical(y, c(x[1:5,1], x[6:9,3])))
y <- rowCollapse(x, 1:3)
print(y)
yT <- c(x[1,1],x[2,2],x[3,3],x[4,1],x[5,2],x[6,3],x[7,1],x[8,2],x[9,3])
stopifnot(identical(y, yT))
Results
|