Retrieve or set the dimnames of an object.
dimnames(x) dimnames(x) <- value provideDimnames(x, sep = "", base = list(LETTERS))
- an R object, for example a matrix, array or data frame.
- a possible value for
dimnames(x): see the ‘Value’ section.
- a character string, used to separate
basesymbols and digits in the constructed dimnames.
- a non-empty
listof character vectors. The list components are used in turn (and recycled when needed) to construct replacements for empty dimnames components. See also the examples.
dimnames<- are generic.
array (and hence in particular, for a
matrix), they retrieve or set the
dimnames attribute (see attributes) of the object. A list
value can have names, and these will be used to label the dimensions of the array where appropriate.
The replacement method for arrays/matrices coerces vector and factor elements of
value to character, but does not dispatch methods for
as.character. It coerces zero-length elements to
NULL, and a zero-length list to
value is a list shorter than the number of dimensions, it is extended with
NULLs to the needed length.
Both are primitive functions.
The dimnames of a matrix or array can be
NULL (which is not stored) or a list of the same length as
dim(x). If a list, its components are either
NULL or a character vector with positive length of the appropriate dimension of
x. The list can have names. It is possible that all components are
NULL: such dimnames may get converted to
"data.frame" method both dimnames are character vectors, and the rownames must contain no duplicates nor missing values.
x, with “
NULL - free”
dimnames, i.e. each component a character vector of correct length.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Setting components of the dimnames, e.g.,
dimnames(A)[] <- value is a common paradigm, but note that it will not work if the value assigned is
rownames instead, or (as it does) manipulate the whole dimnames list.
## simple versions of rownames and colnames ## could be defined as follows rownames0 <- function(x) dimnames(x)[] colnames0 <- function(x) dimnames(x)[] (dn <- dimnames(A <- provideDimnames(N <- array(1:24, dim = 2:4)))) A0 <- A; dimnames(A)[2:3] <- list(NULL) stopifnot(identical(A0, provideDimnames(A))) strd <- function(x) utils::str(dimnames(x)) strd(provideDimnames(A, base= list(letters[-(1:9)], tail(LETTERS)))) strd(provideDimnames(A, base= list(letters[-(1:9)], tail(LETTERS)))) strd(provideDimnames(N, base= list(letters[-(1:9)], tail(LETTERS)))) # recycling strd(provideDimnames(A, base= list(c("AA","BB")))) # recycling on both levels
Documentation reproduced from R 3.0.1. License: GPL-2.