powered by
pivot_longer() "lengthens" the data, increasing the number of rows and decreasing the number of columns.
pivot_longer()
pivot_longer.( .df, cols = everything(), names_to = "name", values_to = "value", names_prefix = NULL, names_sep = NULL, names_pattern = NULL, names_ptypes = NULL, names_transform = NULL, names_repair = "check_unique", values_drop_na = FALSE, values_ptypes = NULL, values_transform = NULL, fast_pivot = FALSE, ... )
A data.table or data.frame
Columns to pivot. tidyselect compatible.
tidyselect
Name of the new "names" column. Must be a string.
Name of the new "values" column. Must be a string.
Remove matching text from the start of selected columns using regex.
If names_to contains multiple values, names_sep takes the same specification as separate().
names_to
names_sep
separate()
If names_to contains multiple values, names_pattern takes the same specification as extract(), a regular expression containing matching groups.
names_pattern
extract()
A list of column name-prototype pairs. See ``?vctrs::`theory-faq-coercion``` for more info on vctrs coercion.
A list of column name-function pairs. Use these arguments if you need to change the types of specific columns.
Treatment of duplicate names. See ?vctrs::vec_as_names for options/details.
?vctrs::vec_as_names
If TRUE, rows will be dropped that contain NAs.
experimental: Fast pivoting. If TRUE, the names_to column will be returned as a factor, otherwise it will be a character column. Defaults to FALSE to match tidyverse semantics.
TRUE
factor
character
FALSE
Additional arguments to passed on to methods.
df <- data.table( x = 1:3, y = 4:6, z = c("a", "b", "c") ) df %>% pivot_longer(cols = c(x, y)) df %>% pivot_longer(cols = -z, names_to = "stuff", values_to = "things")
Run the code above in your browser using DataLab