Как использовать pivot_wider() в R


Функция 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.