R: Tools for working with row names

rownames {tibble} | R Documentation

## Tools for working with row names

### Description

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.

### Usage

    has_rownames(.data)

    remove_rownames(.data)

    rownames_to_column(.data, var = "rowname")

    rowid_to_column(.data, var = "rowid")

    column_to_rownames(.data, var = "rowname")

### Arguments

`.data` | A data frame.
`var` | Name of column to use for rownames.

### Value

`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.

### Examples

    # 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()

[Package tibble version 3.0.1 Index]