adrop
From abind v1.4-5
by Tony Plate
Drop dimensions of an array object
Drop degenerate dimensions of an array object. Offers less
automaticity and more control than the base drop()
function.
adrop()
is a S3 generic, with one method, adrop.default
,
supplied in the abind
package.
Usage
adrop(x, drop = TRUE, named.vector = TRUE, one.d.array = FALSE, ...)
Arguments
- x
- An array (including a matrix)
- drop
- A logical or numeric vector describing exactly which dimensions to
drop. It is intended that this argument be supplied always. The
default is very rarely useful (
drop=TRUE
means drop the first dimension of a 1-d array). - named.vector
- Optional, defaults to
TRUE
. Controls whether a vector result has names derived from thedimnames
ofx
. - one.d.array
- Optional, defaults to
FALSE
. IfTRUE
, a one-dimensional array result will be an object with adim
attribute of length 1, and possibly adimnames
attribute. IfFALSE
, a one-dimensional result will be a vector object (named ifnamed.vector==TRUE
). - ...
- There are no additional arguments allowed for
adrop.default
but other methods may use them.
Details
Dimensions can only be dropped if their extent is one, i.e., dimension
i
of array x
can be dropped only if dim(x)[i]==1
.
It is an error to request adrop
to drop a dimension whose
extent is not 1.
A 1-d array can be converted to a named vector by supplying
drop=NULL
(which means drop no dimensions, and return a 1-d
array result as a named vector).
Value
-
If
x
is an object with a dim
attribute (e.g., a matrix or
array
), then adrop
returns an object like x
,
but with the requested
extents of length one removed. Any accompanying dimnames
attribute is adjusted and returned with x
.
See Also
Examples
x <- array(1:24,dim=c(2,3,4),dimnames=list(letters[1:2],LETTERS[1:3],letters[23:26]))
adrop(x[1,,,drop=FALSE],drop=1)
adrop(x[,1,,drop=FALSE],drop=2)
adrop(x[,,1,drop=FALSE],drop=3)
adrop(x[1,1,1,drop=FALSE],drop=1)
adrop(x[1,1,1,drop=FALSE],drop=2)
adrop(x[1,1,1,drop=FALSE],drop=3)
adrop(x[1,1,1,drop=FALSE],drop=1:2)
adrop(x[1,1,1,drop=FALSE],drop=1:2,one.d=TRUE)
adrop(x[1,1,1,drop=FALSE],drop=1:2,named=FALSE)
dim(adrop(x[1,1,1,drop=FALSE],drop=1:2,one.d=TRUE))
dimnames(adrop(x[1,1,1,drop=FALSE],drop=1:2,one.d=TRUE))
names(adrop(x[1,1,1,drop=FALSE],drop=1:2,one.d=TRUE))
dim(adrop(x[1,1,1,drop=FALSE],drop=1:2))
dimnames(adrop(x[1,1,1,drop=FALSE],drop=1:2))
names(adrop(x[1,1,1,drop=FALSE],drop=1:2))
Community examples
Looks like there are no examples yet.