| asub {abind} | R Documentation |
Arbitrary subsetting of array-like objects at specified indices
Description
Subset array-like objects at specified indices. asub() is a S3 generic, with
one method, asub.default, supplied in the abind package.
Usage
asub(x, idx, dims = seq(len = max(length(dim(x)), 1)), drop = NULL, ...)
Arguments
x |
The object to index |
idx |
A list of indices (e.g., a list of a mixture of integer,
character, and logical vectors, but can actually be anything). Can
be just a vector in the case that |
dims |
The dimensions on which to index (a numeric or integer vector). The default is all of the dimensions. |
drop |
The 'drop' argument to index with (the default is to not supply a 'drop' argument |
... |
There are no additional arguments allowed for
|
Details
Constructs and evaluates an expression to do the requested indexing.
E.g., for x with length(dim(x))==4 the call
asub(x, list(c("a","b"), 3:5), 2:3) will construct and evaluate
the expression x[, c("a","b"), 3:5, ], and the call
asub(x, 1, 2, drop=FALSE) will construct and evaluate
the expression x[, 1, , , drop=FALSE].
asub checks that the elements of dims are in the range 1
to length(dim(x)) (in the case that x is a vector,
length(x) is used for dim(x)). Other than that, no
checks are made on the suitability of components of idx as
indices for x. If the components of idx have any
out-of-range values or unsuitable types, this will be left to the
subsetting method for x to catch.
Value
A subset of x, as returned by x[...].
Author(s)
Tony Plate tplate@acm.org
References
~put references to the literature/web site here ~
See Also
Examples
x <- array(1:24,dim=c(2,3,4),dimnames=list(letters[1:2],LETTERS[1:3],letters[23:26]))
asub(x, 1, 1, drop=FALSE)
asub(x, list(1:2,3:4), c(1,3))