
rlang is a collection of frameworks and APIs for programming withR.
Two comprehensive frameworks are implemented in rlang.
tidy eval, a programmabledata-maskingframework used in tidyverse packages like dplyr and ggplot2. As a user,you will encounter the embracing operator{{and name injection with theglue operators"{"and"{{".
rlang errors, a set of tools to signal anddisplay errors. This includes backtrace capture withglobal_entrace() and backtrace display withlast_error() andlast_warnings(). Useabort() to create errors with bullet lists, structuredmetadata, and error chaining support.
The display of error messages is optimised for bullet lists andchained errors and optionally integrates with the cli package (seelocal_use_cli()).
A set of tools help you check, validate, and preprocessarguments.
Checking function arguments, e.g. arg_match(),check_required(), andcheck_exclusive().
Checking dots, e.g. check_dots_used() andcheck_dots_empty().
Collectingdynamic dots,e.g. list2(). These dots support splicing with!!!and name injection with theglue operators"{"and"{{".
rlang provides various interfaces for working with R and Robjects.
The R session, e.g. check_installed(),on_load(), andon_package_load().
Environments, e.g. env(),env_has(),env_get(),env_bind(),env_unbind(),env_print(), andlocal_bindings().
Evaluation, e.g. inject() andeval_bare().
Calls and symbols, e.g. call2(),is_call(),is_call_simple(),data_sym(), anddata_syms().
Functions, e.g. new_function() andas_function(). The latter supports the purrr-style formulanotation for lambda functions.
Install the released version of rlang from CRAN:
install.packages("rlang")Or install the development version from GitHub with:
# install.packages("pak")pak::pkg_install("r-lib/rlang")Please note that the rlang project is released with aContributor Code ofConduct. By contributing to this project, you agree to abide by itsterms.