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


Функцию Gather () из пакета tidyr можно использовать для «сбора» пары «ключ-значение» по нескольким столбцам.

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

собрать (данные, ключевое значение, …)

куда:

  • data : Имя фрейма данных
  • key : имя ключевого столбца для создания
  • value : Имя столбца значений для создания
  • : Укажите, из каких столбцов следует собирать данные.

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

Пример 1. Сбор значений из двух столбцов

Предположим, у нас есть следующий фрейм данных в 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

Мы можем использовать функцию Gather() для создания двух новых столбцов с именами «год» и «точки» следующим образом:

library(tidyr)

#gather data from columns 2 and 3
gather(df, key=" year", value=" points", 2:3)

 player year points
1 A year1 12
2 B year1 15
3 C year1 19
4 D year1 19
5 A year2 22
6 B year2 29
7 C year2 18
8 D year2 12

Пример 2. Сбор значений из более чем двух столбцов

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

#create data frame
df2 <- data.frame(player=c('A', 'B', 'C', 'D'),
 year1=c(12, 15, 19, 19),
 year2=c(22, 29, 18, 12),
 year3=c(17, 17, 22, 25))

#view data frame
df2

 player year1 year2 year3
1 A 12 22 17
2 B 15 29 17
3 C 19 18 22
4 D 19 12 25

Мы можем использовать функцию Gather() , чтобы «собрать» значения из столбцов 2, 3 и 4 в два новых столбца с именами «год» и «точки» следующим образом:

library(tidyr)

#gather data from columns 2, 3, and 4
gather(df, key=" year", value=" points", 2:4)

 player year points
1 A year1 12
2 B year1 15
3 C year1 19
4 D year1 19
5 A year2 22
6 B year2 29
7 C year2 18
8 D year2 12
9 A year3 17
10 B year3 17
11 C year3 22
12 D year3 25

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

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

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

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

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

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

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

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

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

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