asub

0th

Percentile

Arbitrary subsetting of array-like objects at specified indices

Subset array-like objects at specified indices. asub() is a S3 generic, with one method, asub.default, supplied in the abind package.

Keywords
array , manip
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 length(dims)==1. NULL entries in the list will be treated as empty indices.
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 asub.default but other methods may use them.
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[...].

References

~put references to the literature/web site here ~

See Also

Extract

Aliases
  • asub
  • asub.default
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))
Documentation reproduced from package abind, version 1.4-5, License: LGPL (>= 2)

Community examples

Looks like there are no examples yet.