This is a low level interface to pivotting, inspired by the cdata package,
that allows you to describe pivotting with a data frame.
pivot_longer_spec(data, spec, names_repair = "check_unique",
values_drop_na = FALSE, values_ptypes = list())
build_longer_spec(data, cols, names_to = "name", values_to = "value",
names_prefix = NULL, names_sep = NULL, names_pattern = NULL,
names_ptypes = NULL)
Arguments
data |
A data frame to pivot. |
spec |
A specification data frame. This is useful for more complex
pivots because it gives you greater control on how metadata stored in the
column names turns into columns in the result.
Must be a data frame containing character .name and .value columns. |
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. |
values_drop_na |
If TRUE , will drop rows that contain only NA s
in the value_to column. This effectively converts explicit missing values
to implicit missing values, and should generally be used only when missing
values in data were created by its structure. |
values_ptypes |
A list of of column name-prototype pairs.
A prototype (or ptype for short) is a zero-length vector (like integer()
or numeric() ) that defines the type, class, and attributes of a vector.
If not specified, the type of the columns generated from names_to will
be character, and the type of the variables generated from values_to
will be the common type of the input columns used to generate them. |
cols |
Columns to pivot into longer format. This takes a tidyselect
specification. |
names_to |
A string specifying the name of the column to create
from the data stored in the column names of data .
Can be a character vector, creating multiple columns, if names_sep
or names_pattern is provided. |
values_to |
A string specifying the name of the column to create
from the data stored in cell values. If names_to is a character
containing the special .value sentinel, this value will be ignored,
and the name of the value column will be derived from part of the
existing column names. |
names_prefix |
A regular expression used to remove matching text
from the start of each variable name. |
names_sep |
If names_to contains multiple values,
these arguments control how the column name is broken up.
names_sep takes the same specification as separate() , and can either
be a numeric vector (specifying positions to break on), or a single string
(specifying a regular expression to split on).
names_pattern takes the same specification as extract() , a regular
expression containing matching groups (() ).
If these arguments does not give you enough control, use
pivot_longer_spec() to create a spec object and process manually as
needed. |
names_pattern |
If names_to contains multiple values,
these arguments control how the column name is broken up.
names_sep takes the same specification as separate() , and can either
be a numeric vector (specifying positions to break on), or a single string
(specifying a regular expression to split on).
names_pattern takes the same specification as extract() , a regular
expression containing matching groups (() ).
If these arguments does not give you enough control, use
pivot_longer_spec() to create a spec object and process manually as
needed. |
names_ptypes |
A list of of column name-prototype pairs.
A prototype (or ptype for short) is a zero-length vector (like integer()
or numeric() ) that defines the type, class, and attributes of a vector.
If not specified, the type of the columns generated from names_to will
be character, and the type of the variables generated from values_to
will be the common type of the input columns used to generate them. |