pivot_wider {poorman} | R Documentation |
Pivot data from long to wide
Description
pivot_wider()
"widens" data, increasing the number of columns and decreasing the number of rows. The inverse
transformation is pivot_longer()
.
Usage
pivot_wider(
data,
id_cols = NULL,
values_from = "Value",
names_from = "Name",
names_sep = "_",
names_prefix = "",
names_glue = NULL,
values_fill = NULL,
...
)
Arguments
data |
|
id_cols |
|
values_from |
|
names_from |
|
names_sep |
|
names_prefix |
|
names_glue |
|
values_fill |
|
... |
Not used for now. |
Value
If a tibble was provided as input, pivot_wider()
also returns a
tibble. Otherwise, it returns a data frame.
Examples
data_long <- read.table(header = TRUE, text = "
subject sex condition measurement
1 M control 7.9
1 M cond1 12.3
1 M cond2 10.7
2 F control 6.3
2 F cond1 10.6
2 F cond2 11.1
3 F control 9.5
3 F cond1 13.1
3 F cond2 13.8
4 M control 11.5
4 M cond1 13.4
4 M cond2 12.9")
pivot_wider(
data_long,
id_cols = "subject",
names_from = "condition",
values_from = "measurement"
)
pivot_wider(
data_long,
id_cols = "subject",
names_from = "condition",
values_from = "measurement",
names_prefix = "Var.",
names_sep = "."
)
production <- expand.grid(
product = c("A", "B"),
country = c("AI", "EI"),
year = 2000:2014
) %>%
filter((product == "A" & country == "AI") | product == "B") %>%
mutate(production = rnorm(nrow(.)))
pivot_wider(
production,
names_from = c("product", "country"),
values_from = "production",
names_glue = "prod_{product}_{country}"
)