Как использовать функцию объединения в 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. Функция объединения() .

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

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