Tools for working with row names
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 than 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.
has_rownames(.data) remove_rownames(.data) rownames_to_column(.data, var = "rowname") rowid_to_column(.data, var = "rowid") column_to_rownames(.data, var = "rowname")
.data |
A data frame. |
var |
Name of column to use for rownames. |
column_to_rownames()
always returns a data frame.
has_rownames()
returns a scalar logical.
All other functions return an object of the same class as the input.
# Detect row names ---------------------------------------------------- has_rownames(mtcars) has_rownames(iris) # Remove row names ---------------------------------------------------- remove_rownames(mtcars) %>% has_rownames() # Convert between row names and column -------------------------------- mtcars_tbl <- rownames_to_column(mtcars, var = "car") %>% as_tibble() mtcars_tbl column_to_rownames(mtcars_tbl, var = "car") %>% head() # Adding rowid as a column -------------------------------------------- rowid_to_column(iris) %>% head()
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.