Функция pivot_wider() из пакета tidyr в R может использоваться для поворота фрейма данных из длинного формата в широкий формат.
Эта функция использует следующий базовый синтаксис:
library(tidyr)
df %>% pivot_wider(names_from = var1, values_from = var2)
куда:
- name_from : столбец, значения которого будут использоваться в качестве имен столбцов.
- values_from : столбец, значения которого будут использоваться в качестве значений ячеек.
В следующем примере показано, как использовать эту функцию на практике.
Связанный: Длинные и широкие данные: в чем разница?
Пример: используйте pivot_wider() в R
Предположим, у нас есть следующий фрейм данных в R, который содержит информацию о различных баскетболистах:
#create data frame
df <- data.frame(player=rep(c('A', 'B'), each= 4 ),
year=rep(c(1, 1, 2, 2), times= 2 ),
stat=rep(c('points', 'assists'), times= 4 ),
amount=c(14, 6, 18, 7, 22, 9, 38, 4))
#view data frame
df
player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4
Мы можем использовать функцию pivot_wider() , чтобы преобразовать этот фрейм данных в широкий формат:
library(tidyr)
#pivot the data frame into a wide format
df %>% pivot_wider(names_from = stat, values_from = amount)
# A tibble: 4 x 4
player year points assists
1 A 1 14 6
2 A 2 18 7
3 B 1 22 9
4 B 2 38 4
Обратите внимание, что значения из столбца статистики теперь используются в качестве имен столбцов, а значения из столбца количества используются в качестве значений ячеек в этих новых столбцах.
Конечным результатом является широкий фрейм данных.
Примечание.Полную документацию по функции pivot_wider() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции пакета tidyr в R:
Как использовать функцию распространения в R
Как использовать функцию сбора в R
Как использовать отдельную функцию в R
Как использовать функцию объединения в R