Как транспонировать фрейм данных с помощью dplyr


Вы можете использовать следующий базовый синтаксис для транспонирования фрейма данных с помощью пакета dplyr в R:

 library (dplyr)
library (tidyr)

df %>%
    pivot_wider(names_from = column1, values_from = column2)

Аргумент Names_from указывает значения, которые будут использоваться для имен столбцов в транспонированном фрейме данных, а аргумент Values_from указывает значения ячеек, которые будут использоваться в транспонированном фрейме данных.

Обратите внимание, что оператор канала ( %>% ) взят из пакета dplyr , а функция Pivot_wider() — из пакета Tidyr .

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

Пример: транспонировать фрейм данных с помощью dplyr

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Nets', 'Kings', 'Lakers'),
                 dots=c(99, 104, 119, 113))

#view data frame
df

    team points
1 Mavs 99
2 Nets 104
3 Kings 119
4 Lakers 113

Теперь предположим, что мы хотим транспонировать фрейм данных так, чтобы имена команд использовались в качестве имен столбцов, а значения точек использовались в качестве значений ячеек внутри фрейма данных.

Для этого мы можем использовать следующий синтаксис:

 library (dplyr)
library (tidyr)

#transpose data frame
df %>%
    pivot_wider(names_from = team, values_from = points)

# A tibble: 1 x 4
   Mavs Nets Kings Lakers
      
1 99 104 119 113

Фрейм данных был транспонирован таким образом, что названия команд используются в качестве столбцов, а значения точек используются в качестве значений ячеек во фрейме данных.

Обратите внимание, что результирующий фрейм данных теперь содержит 1 строку и 4 столбца.

Связано: введение в функцию Pivot_wider() в R.

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

В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:

Как фильтровать строки, содержащие определенную строку, с помощью dplyr
Как рассчитать относительные частоты с помощью dplyr
Как выбрать первую строку по группе с помощью dplyr

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *