A: как использовать pivot_wider() с несколькими столбцами
Функция Pivot_wider() пакета Tidyr в R может использоваться для поворота блока данных из длинного формата в широкий.
Если вы хотите использовать эту функцию для поворота нескольких столбцов, вы можете использовать следующий синтаксис:
library (tidyr)
df_wide <- pivot_wider(df, names_from=group, values_from=c(values1, values2))
Указав несколько имен столбцов в аргументеvalues_from , вы можете вращать несколько столбцов одновременно.
В следующем примере показано, как использовать эту функцию на практике.
Связанный: Длинные или широкие данные: в чем разница?
Пример: используйте Pivot_wider() с несколькими столбцами в R.
Предположим, у нас есть следующий кадр данных в R, содержащий информацию о различных баскетболистах:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
player=c('G', 'F', 'C', 'G', 'F', 'C'),
points=c(22, 34, 20, 15, 14, 19),
assists=c(4, 10, 12, 9, 8, 5))
#view data frame
df
team player points assists
1 AG 22 4
2 AF 34 10
3 AC 20 12
4 BG 15 9
5 BF 14 8
6 BC 19 5
Теперь предположим, что мы хотим одновременно вращать значения в точках и вспомогательных столбцах.
Для этого мы можем использовать следующий синтаксис:
library (tidyr)
#pivot values in points and assists columns
df_wide <- pivot_wider(df, names_from=player, values_from=c(points, assists))
#view wide data frame
df_wide
# A tibble: 2 x 7
team points_G points_F points_C assists_G assists_F assists_C
1 A 22 34 20 4 10 12
2 B 15 14 19 9 8 5
Обратите внимание, что каждое значение в столбце «Игроки» было объединено с очками и передачами , чтобы создать в общей сложности шесть новых столбцов, отображающих очки и передачи, набранные игроками на каждой позиции.
Конечным результатом является большой фрейм данных с семью столбцами.
Примечание . Полную документацию по функции Pivot_wider() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции пакета Tidyr в R:
Как использовать Pivot_longer() в R
Как использовать функцию Spread в R
Как использовать функцию сбора в R
Как использовать отдельную функцию в R
Как использовать функцию Unite в R