R: Row and Column Names

row+colnames {base} | R Documentation

## Row and Column Names

### Description

Retrieve or set the row or column names of a matrix-like object.

### Usage

    rownames(x, do.NULL = TRUE, prefix = "row")
    rownames(x) <- value

    colnames(x, do.NULL = TRUE, prefix = "col")
    colnames(x) <- value

### Arguments

`x` | a matrix-like R object, with at least two dimensions for `colnames`.
`do.NULL` | logical. If `FALSE` and names are `NULL`, names are created.
`prefix` | for created names.
`value` | a valid value for that component of `dimnames(x)`. For a matrix or array this is either `NULL` or a character vector of non-zero length equal to the appropriate dimension.

### Details

The extractor functions try to do something sensible for any matrix-like object `x`. If the object has `dimnames` the first component is used as the row names, and the second component (if any) is used for the column names. For a data frame, `rownames` and `colnames` eventually call `row.names` and `names` respectively, but the latter are preferred.

If `do.NULL` is `FALSE`, a character vector (of length `NROW(x)` or `NCOL(x)`) is returned in any case, prepending `prefix` to simple numbers, if there are no dimnames or the corresponding component of the dimnames is `NULL`.

The replacement methods for arrays/matrices coerce vector and factor values of `value` to character, but do not dispatch methods for `as.character`.

For a data frame, `value` for `rownames` should be a character vector of non-duplicated and non-missing names (this is enforced), and for `colnames` a character vector of (preferably) unique syntactically-valid names. In both cases, `value` will be coerced by `as.character`, and setting `colnames` will convert the row names to character.

### Note

If the replacement versions are called on a matrix without any existing dimnames, they will add suitable dimnames. But constructions such as

        rownames(x)[3] <- "c"

may not work unless `x` already has dimnames, since this will create a length-3 `value` from the `NULL` value of `rownames(x)`.

### See Also

`dimnames`, `case.names`, `variable.names`.

### Examples

    m0 <- matrix(NA, 4, 0)
    rownames(m0)

    m2 <- cbind(1, 1:4)
    colnames(m2, do.NULL = FALSE)
    colnames(m2) <- c("x","Y")
    rownames(m2) <- rownames(m2, do.NULL = FALSE, prefix = "Obs.")
    m2

[Package base version 3.5.1 Index]