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