rlang
Overview
The rlang package provides tools to work with core language features of R and the tidyverse:
The tidyeval framework, which is a well-founded system for non-standard evaluation built on quasiquotation (
UQ()) and quosures (quo()). Read more invignette("tidy-evaluation").Consistent tools for working with base types:
Vectors, including construction (
lgl(),int(), ...) coercion (as_logical(),as_character(), ...), and predicates (is_logical(),is_character()).Language objects, such as calls (
lang()) and symbols (sym()).Attributes, e.g.
set_attrs(),set_names().Functions, e.g.
new_function(),as_function(),is_function().Environments, e.g.
env(),env_has(),env_get(),env_bind(),env_unbind().
A comprehensive set of predicates to determine if an object satisfies various conditions, e.g.
has_length(),is_list(),is_empty().The condition (message, warning, error) and restart system.
Call and context stacks.
Installation
You can install the released version of rlang from CRAN with:
install.packages("rlang")Or install the development version from github with:
# install.packages("devtools")
devtools::install_github("tidyverse/rlang", build_vignettes = TRUE)