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


Функцию unite() из пакета tidyr можно использовать для объединения нескольких столбцов фрейма данных в один столбец.

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

объединить (данные, столбец, в, раздел)

куда:

  • data : Имя фрейма данных
  • col : Имя нового объединенного столбца
  • : Вектор имен для объединяемых столбцов
  • sep : Как объединить данные в новый объединенный столбец

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

Пример 1. Объединение двух столбцов в один столбец

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

#create data frame
df <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'),
 year=c(1, 2, 1, 2, 1, 2),
 points=c(22, 29, 18, 11, 12, 19),
 assists=c(2, 3, 6, 8, 5, 2))

#view data frame
df

 player year points assists
1 A 1 22 2
2 A 2 29 3
3 B 1 18 6
4 B 2 11 8
5 C 1 12 5
6 C 2 19 2

Мы можем использовать функцию unite() , чтобы объединить столбцы «баллы» и «помощь» в один столбец:

library(tidyr)

#unite points and assists columns into single column
unite(df, col='points-assists', c('points', 'assists'), sep='-')

 player year points-assists
1 A 1 22-2
2 A 2 29-3
3 B 1 18-6
4 B 2 11-8
5 C 1 12-5
6 C 2 19-2

Пример 2: объединить более двух столбцов

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

#create data frame
df2 <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'),
 year=c(1, 2, 1, 2, 1, 2),
 points=c(22, 29, 18, 11, 12, 19),
 assists=c(2, 3, 6, 8, 5, 2),
 blocks=c(2, 3, 3, 2, 1, 0))

#view data frame
df2

 player year points assists blocks
1 A 1 22 2 2
2 A 2 29 3 3
3 B 1 18 6 3
4 B 2 11 8 2
5 C 1 12 5 1
6 C 2 19 2 0

Мы можем использовать функцию unite() , чтобы объединить столбцы очков, помощи и блоков в один столбец:

library(tidyr)

#unite points, assists, and blocks column into single column
unite(df2, col='stats', c('points', 'assists', 'blocks'), sep='/')

 player year stats
1 A 1 22/2/2
2 A 2 29/3/3
3 B 1 18/6/3
4 B 2 11/8/2
5 C 1 12/5/1
6 C 2 19/2/0

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

Целью пакета tidyr является создание «аккуратных» данных, обладающих следующими характеристиками:

  • Каждый столбец является переменной.
  • Каждая строка — это наблюдение.
  • Каждая ячейка представляет собой одно значение.

Пакет tidyr использует четыре основные функции для создания аккуратных данных:

1. Функция распространения() .

2. Функция сбора() .

3. Функция разделения() .

  1. Функция объединения() .

Если вы освоите эти четыре функции, вы сможете создавать «аккуратные» данные из любого фрейма данных.