gen_tbl: Generate a random tibble

View source: R/generator.R

gen_tblR Documentation

Generate a random tibble


This is useful for benchmarking, but also for bug reports when you cannot share the real dataset.


  cols = NULL,
  col_types = NULL,
  locale = default_locale(),
  missing = 0



Number of rows to generate


Number of columns to generate, if NULL this is derived from col_types.


One of NULL, a cols() specification, or a string.

If NULL, all column types will be imputed from guess_max rows on the input interspersed throughout the file. This is convenient (and fast), but not robust. If the imputation fails, you'll need to increase the guess_max or supply the correct types yourself.

Column specifications created by list() or cols() must contain one column specification for each column. If you only want to read a subset of the columns, use cols_only().

Alternatively, you can use a compact string representation where each character represents one column:

  • c = character

  • i = integer

  • n = number

  • d = double

  • l = logical

  • f = factor

  • D = date

  • T = date time

  • t = time

  • ? = guess

  • _ or - = skip

    By default, reading a file without a column specification will print a message showing what readr guessed they were. To remove this message, set show_col_types = FALSE or set options(readr.show_col_types = FALSE).


The locale controls defaults that vary from place to place. The default locale is US-centric (like R), but you can use locale() to create your own locale that controls things like the default time zone, encoding, decimal mark, big mark, and day/month names.


The percentage (from 0 to 1) of missing data to use


There is also a family of functions to generate individual vectors of each type.

See Also

generators to generate individual vectors.


# random 10 x 5 table with random column types
rand_tbl <- gen_tbl(10, 5)

# all double 25 x 4 table
dbl_tbl <- gen_tbl(25, 4, col_types = "dddd")

# Use the dots in long form column types to change the random function and options
types <- rep(times = 4, list(col_double(f = stats::runif, min = -10, max = 25)))
dbl_tbl2 <- gen_tbl(25, 4, col_types = types)

vroom documentation built on Oct. 2, 2023, 5:07 p.m.