Learn R Programming

tibble (version 1.3.1)

lst: 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

Run this code
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"))
## ---------------------------------------------

Run the code above in your browser using DataLab