R: Build a list

lst {tibble} | R Documentation

## Build a list

### Description

`lst()` is similar to `list()`, but like `tibble()`, it evaluates its arguments lazily and in order, and automatically adds names.

`tibble()` is a trimmed down version of `data.frame()` that:

- Never coerces inputs (i.e. strings stay as strings!).

- Never adds `row.names`.

- Never munges column names.

- Only recycles length 1 inputs.

- Evaluates its arguments lazily and in order.

- Adds `tbl_df` class to output.

- Automatically adds column names.

### Usage

    lst(...)

    lst_(xs)

    tibble(...)

    tibble_(xs)

### Arguments

`...` | A set of name-value pairs. Arguments are evaluated sequentially, so you can refer to previously created variables.
`xs` | A list of unevaluated expressions created with `~`, `quote()`, or (deprecated) `lazyeval::lazy()`.

### See Also

`as_tibble()` to turn an existing list into a data frame.

### Examples

    lst(n = 5, x = runif(n))

    # You can splice-unquote a list of quotes and formulas
    lst(!!! list(n = rlang::quo(2 + 3), y = quote(runif(n))))

    a <- 1:5
    tibble(a, b = a * 2)
    tibble(a, b = a * 2, c = 1)
    tibble(x = runif(10), y = x * 2)

    lst(n = 5, x = runif(n))

    # tibble never coerces its inputs
    str(tibble(letters))
    str(tibble(x = list(diag(1), diag(2))))

    # or munges column names
    tibble(`a + b` = 1:5)

    # You can splice-unquote a list of quotes and formulas
    tibble(!!! list(x = rlang::quo(1:10), y = quote(x * 2)))

    # data frames can only contain 1d atomic vectors and lists
    # and can not contain POSIXlt
    ## Not run:
    tibble(x = tibble(1, 2, 3))
    tibble(y = strptime("2000/01/01", "%x"))

    ## End(Not run)

[Package tibble version 1.3.3 Index]