set_names: Set names of a vector

View source: R/attr.R

set_namesR Documentation

Set names of a vector

Description

This is equivalent to stats::setNames(), with more features and stricter argument checking.

Usage

set_names(x, nm = x, ...)

Arguments

x

Vector to name.

nm, ...

Vector of names, the same length as x. If length 1, nm is recycled to the length of x following the recycling rules of the tidyverse..

You can specify names in the following ways:

  • If not supplied, x will be named to as.character(x).

  • If x already has names, you can provide a function or formula to transform the existing names. In that case, ... is passed to the function.

  • Otherwise if ... is supplied, x is named to c(nm, ...).

  • If nm is NULL, the names are removed (if present).

Life cycle

set_names() is stable and exported in purrr.

Examples

set_names(1:4, c("a", "b", "c", "d"))
set_names(1:4, letters[1:4])
set_names(1:4, "a", "b", "c", "d")

# If the second argument is ommitted a vector is named with itself
set_names(letters[1:5])

# Alternatively you can supply a function
set_names(1:10, ~ letters[seq_along(.)])
set_names(head(mtcars), toupper)

# If the input vector is unnamed, it is first named after itself
# before the function is applied:
set_names(letters, toupper)

# `...` is passed to the function:
set_names(head(mtcars), paste0, "_foo")

# If length 1, the second argument is recycled to the length of the first:
set_names(1:3, "foo")
set_names(list(), "")

hadley/rlang documentation built on Nov. 1, 2024, 4 p.m.