This is a low level interface to pivotting, inspired by the cdata package, that allows you to describe pivotting with a data frame.

pivot_wider_spec(data, spec, names_repair = "check_unique",
  id_cols = NULL, values_fill = NULL, values_fn = NULL)

build_wider_spec(data, names_from = name, values_from = value,
  names_prefix = "", names_sep = "_")

Arguments

data

A data frame to pivot.

names_repair

What happen if the output has invalid column names? The default, "check_unique" is to error if the columns are duplicated. Use "minimal" to allow duplicates in the output, or "unique" to de-duplicated by adding numeric suffixes. See vctrs::vec_as_names() for more options.

id_cols

A set of columns that uniquely identifies each observation. Defaults to all columns in data except for the columns specified in names_from and values_from. Typically used when you have additional variables that is directly related.

values_fill

Optionally, a named list specifying what each value should be filled in with when missing.

values_fn

Optionally, a named list providing a function that will be applied to the value in each cell in the output. You will typically use this when the combination of id_cols and value column does not uniquely identify an observation.

names_from

A pair of arguments describing which column (or columns) to get the name of the output column (name_from), and which column (or columns) to get the cell values from (values_from).

If values_from contains multiple values, the value will be added to the front of the output column.

values_from

A pair of arguments describing which column (or columns) to get the name of the output column (name_from), and which column (or columns) to get the cell values from (values_from).

If values_from contains multiple values, the value will be added to the front of the output column.

names_prefix

String added to the start of every variable name. This is particularly useful if names_from is a numeric vector and you want to create syntactic variable names.

names_sep

If names_from or values_from contains multiple variables, this will be used to join their values together into a single string to use as a column name.