extract.array {R.utils}R Documentation

Extract a subset of an array, matrix or a vector with unknown dimensions

Description

Extract a subset of an array, matrix or a vector with unknown dimensions.

This method is useful when you do not know the number of dimensions of the object your wish to extract values from, cf. example.

Usage

## S3 method for class 'array':
extract(x, ..., drop=FALSE, indices=list(...))

Arguments

x An array or a matrix.
... These arguments are by default put into the indices list.
indices A list of index vectors to be extracted. The names (coerced to integers) of the list elements are the dimension indices for each of the index vectors.
drop If TRUE, dimensions of length one are dropped, otherwise not.

Value

Returns an array.

Author(s)

Henrik Bengtsson (http://www.braju.com/R/)

See Also

slice.index()

Examples

cat("\nCreate an array 'x' with a random number of dimensions:\n")
maxdim <- 4
dim <- sample(3:maxdim, size=sample(2:maxdim, size=1), replace=TRUE)
ndim <- length(dim)
dimnames <- list()
for (kk in 1:ndim)
  dimnames[[kk]] <- sprintf("%s%d", letters[kk], 1:dim[kk])
x <- 1:prod(dim)
x <- array(x, dim=dim, dimnames=dimnames)

cat("\nArray 'x':\n")
print(x)

cat("\nExtract 'x[2:3,...]':\n")
print(extract(x, "1"=2:3))

cat("\nExtract 'x[3,2:3,...]':\n")
print(extract(x, "1"=3,"2"=2:3))

cat("\nExtract 'x[...,2:3]':\n")
indices <- list(2:3)
names(indices) <- length(dim(x))
print(extract(x, indices=indices))

[Package R.utils version 1.1.1 Index]