⚠️There's a newer version (1.1.1) of this package.Take me there.
rlang
rlang is a collection of frameworks and APIs for programming with R.
Frameworks
Two comprehensive frameworks are implemented in rlang.
tidy eval, a programmable data-masking framework used in tidyverse packages like dplyr and ggplot2. As a user, you will encounter the embracing operator {{ and name injection with the glue operators "{" and "{{".
rlang errors, a set of tools to signal and display errors. This includes backtrace capture with global_entrace() and backtrace display with last_error() and last_warnings(). Use abort() to create errors with bullet lists, structured metadata, and error chaining support.
The display of error messages is optimised for bullet lists and chained errors and optionally integrates with the cli package (see local_use_cli()).
Argument intake
A set of tools help you check, validate, and preprocess arguments.
Checking function arguments, e.g. arg_match(), check_required(), and check_exclusive().
Checking dots, e.g. check_dots_used() and check_dots_empty().
Collecting dynamic dots, e.g. list2(). These dots support splicing with !!! and name injection with the glue operators "{" and "{{".
Programming interfaces
rlang provides various interfaces for working with R and R objects.
The R session, e.g. check_installed(), on_load(), and on_package_load().
Environments, e.g. env(), env_has(), env_get(), env_bind(), env_unbind(), env_print(), and local_bindings().
Evaluation, e.g. inject() and eval_bare().
Calls and symbols, e.g. call2(), is_call(), is_call_simple(), data_sym(), and data_syms().
Functions, e.g. new_function() and as_function(). The latter supports the purrr-style formula notation for lambda functions.
Installation
Install the released version of rlang from CRAN:
install.packages("rlang")
Or install the development version from GitHub with: