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


Функция pivot_longer() из пакета tidyr в R может использоваться для поворота фрейма данных из широкого формата в длинный формат.

Эта функция использует следующий базовый синтаксис:

library(tidyr)

df %>% pivot_longer(cols=c('var1', 'var2', ...),
 names_to='col1_name',
 values_to='col2_name')

куда:

  • cols : имена столбцов для поворота
  • name_to : имя для нового столбца символов
  • values_to : имя столбца новых значений.

В следующем примере показано, как использовать эту функцию на практике.

Связанный: Длинные и широкие данные: в чем разница?

Пример: используйте pivot_longer() в R

Предположим, у нас есть следующий фрейм данных в R, который показывает количество очков, набранных разными баскетболистами в разные годы:

#create data frame
df <- data.frame(player=c('A', 'B', 'C', 'D'),
 year1=c(12, 15, 19, 19),
 year2=c(22, 29, 18, 12))

#view data frame
df

 player year1 year2
1 A 12 22
2 B 15 29
3 C 19 18
4 D 19 12

Мы можем использовать функцию pivot_longer() , чтобы преобразовать этот фрейм данных в длинный формат:

library(tidyr)

#pivot the data frame into a long format
df %>% pivot_longer(cols=c('year1', 'year2'),
 names_to='year',
 values_to='points')

# A tibble: 8 x 3
 player year points

1 A year1 12
2 A year2 22
3 B year1 15
4 B year2 29
5 C year1 19
6 C year2 18
7 D year1 19
8 D year2 12

Обратите внимание, что имена столбцов year1 и year2 теперь используются в качестве значений в новом столбце под названием «год», а значения из этих исходных столбцов помещаются в один новый столбец под названием «баллы».

Конечным результатом является длинный фрейм данных.

Примечание.Полную документацию по функции pivot_longer() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции пакета tidyr в R:

Как использовать pivot_wider() в R
Как использовать функцию распространения в R
Как использовать функцию сбора в R
Как использовать отдельную функцию в R
Как использовать функцию объединения в R

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