While a tibble can have row names (e.g., when converting from a regular data
frame), they are removed when subsetting with the [ operator.
A warning will be raised when attempting to assign non-NULL row names
to a tibble.
Generally, it is best to avoid row names, because they are basically a
character column with different semantics to every other column. These
functions allow to you detect if a data frame has row names
(has_rownames()), remove them (remove_rownames()), or convert
them back-and-forth between an explicit column (rownames_to_column()
and column_to_rownames()).
Also included is rowid_to_column() which
adds a column at the start of the dataframe of ascending sequential row
ids starting at 1. Note that this will remove any existing row names.