ID EN
Data Frame & Matrix

row.names

R Base 3.6.2

All data frames have a row names attribute, a character vector of length the number of rows with no duplicates nor missing values. For convenience, these are generic functions for which users can write other methods, and there are default methods for arrays. The description here is for the data.frame method. `.rowNamesDF

Syntax

R
row.names(x)
row.names(x) <- value
.rowNamesDF(x, make.names=FALSE) <- value

Arguments

Parameter Description
x object of class "data.frame", or any other class for which a method has been defined.
make.names logical, i.e., one of FALSE, NA, TRUE, indicating what should happen if the specified row names, i.e., value, are invalid, e.g., duplicated or NA. The default (is back compatible), FALSE, will signal an error, where NA will “automatic” row names and TRUE will call make.names(value, unique=TRUE) for constructing valid names.
value an object to be coerced to character unless an integer vector. It should have (after coercion) the same length as the number of rows of x with no duplicated nor missing values. NULL is also allowed: see ‘Details’.

Return Value

row.names returns a character vector. row.names<- returns a data frame with the row names changed.

Details

A data frame has (by definition) a vector of row names which has length the number of rows in the data frame, and contains neither missing nor duplicated values. Where a row names sequence has been added by the software to meet this requirement, they are regarded as ‘automatic’. Row names are currently allowed to be integer or character, but for backwards compatibility (with R <= 2.4.0) row.names will always return a character vector. (Use attr(x, "row.names") if you need to retrieve an integer-valued set of row names.) Using NULL for the value resets the row names to seq_len(nrow(x)), regarded as ‘automatic’.

See Also

data.frame rownames names. .row_names_info for the internal representations.