R: Build a list

lst {tibble} | R Documentation

## Build a list

### Description

`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.

### Usage

    lst(...)

### Arguments

`...` | <`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.

### Value

A named list.

### Examples

    # 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))

[Package tibble version 3.1.0 Index]