The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
rlang is a collection of frameworks and APIs for programming with R.
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()
).
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 "{{"
.
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.
Install the released version of rlang from CRAN:
install.packages("rlang")
Or install the development version from GitHub with:
# install.packages("pak")
::pkg_install("r-lib/rlang") pak
Please note that the rlang project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.