pivot_wider.: Pivot data from long to wide

Description Usage Arguments Examples

View source: R/pivot_wider.R

Description

pivot_wider.() "widens" data, increasing the number of columns and decreasing the number of rows.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
pivot_wider.(
  .df,
  names_from = name,
  values_from = value,
  id_cols = NULL,
  names_sep = "_",
  names_prefix = "",
  names_glue = NULL,
  names_sort = FALSE,
  names_repair = "check_unique",
  values_fill = NULL,
  values_fn = NULL
)

Arguments

.df

A data.frame or data.table

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). tidyselect compatible.

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). tidyselect compatible.

id_cols

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

names_sep

the separator between the names of the columns

names_prefix

prefix to add to the names of the new columns

names_glue

Instead of using names_sep and names_prefix, you can supply a glue specification that uses the names_from columns (and special .value) to create custom column names

names_sort

Should the resulting new columns be sorted

names_repair

Treatment of duplicate names. See ?vctrs::vec_as_names for options/details.

values_fill

If values are missing, what value should be filled in

values_fn

Should the data be aggregated before casting? If the formula doesn't identify a single observation for each cell, then aggregation defaults to length with a message.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
test_df <- data.table(
  a = rep(c("a", "b", "c"), 2),
  b = c(rep("x", 3), rep("y", 3)),
  vals = 1:6
)

test_df %>%
  pivot_wider.(names_from = b, values_from = vals)

test_df %>%
  pivot_wider.(
    names_from = b, values_from = vals, names_prefix = "new_"
  )

mtfairbanks/gdt documentation built on May 4, 2021, 9:44 a.m.