as_name() converts symbols to character strings. The
conversion is deterministic. That is, the roundtrip symbol -> name
-> symbol always gets the same result.
Use as_name() when you need to transform a symbol to a string
to refer to an object by its name.
Use as_label() when you need to transform any kind of object to
a string to represent that object with a short description.
Expect as_name() to gain
name-repairing
features in the future.
Note that rlang::as_name() is the opposite of
base::as.name(). If you're writing base R code, we recommend
using base::as.symbol() which is an alias of as.name() that
follows a more modern terminology (R types instead of S modes).
as_name(x)
| x | A string or symbol, possibly wrapped in a quosure. If a string, the attributes are removed, if any. |
|---|
A character vector of length 1.
as_label() for converting any object to a single string
suitable as a label. as_string() for a lower-level version that
doesn't unwrap quosures.
# Let's create some symbols: foo <- quote(foo) bar <- sym("bar") # as_name() converts symbols to strings: foo#> fooas_name(foo)#> [1] "foo"#> [1] "symbol"#> [1] "character"#> [1] "foo"