
Last chance! 50% off unlimited learning
Sale ends in
lst()
constructs a list, similar to base::list()
, but with some of the
same features as tibble()
. lst()
builds components sequentially. When
defining a component, you can refer to components created earlier in the
call. lst()
also generates missing names automatically.
See rlang::list2()
for a simpler and faster alternative without tibble's
evaluation and auto-name semantics.
lst(...)
<dynamic-dots
>
A set of name-value pairs. These arguments are
processed with rlang::quos()
and support unquote via !!
and
unquote-splice via !!!
. Use :=
to create columns that start with a dot.
Arguments are evaluated sequentially.
You can refer to previously created elements directly or using the .data
pronoun.
An existing .data
pronoun, provided e.g. inside dplyr::mutate()
,
is not available.
A named list.
# NOT RUN {
# the value of n can be used immediately in the definition of x
lst(n = 5, x = runif(n))
# missing names are constructed from user's input
lst(1:3, z = letters[4:6], runif(3))
a <- 1:3
b <- letters[4:6]
lst(a, b)
# pre-formed quoted expressions can be used with lst() and then
# unquoted (with !!) or unquoted and spliced (with !!!)
n1 <- 2
n2 <- 3
n_stuff <- quote(n1 + n2)
x_stuff <- quote(seq_len(n))
lst(!!!list(n = n_stuff, x = x_stuff))
lst(n = !!n_stuff, x = !!x_stuff)
lst(n = 4, x = !!x_stuff)
lst(!!!list(n = 2, x = x_stuff))
# }
Run the code above in your browser using DataLab