Как использовать функцию сбора в r (с примерами)
Функцию сбора() из пакета 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 to 12 22 2 B 15 29 3 C 19 18 4 D 19 12
Мы можем использовать функцию сбора() для создания двух новых столбцов с именами «год» и «точки» следующим образом:
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
Мы можем использовать функцию сбора() , чтобы «собрать» значения из столбцов 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. Функция отдельный() .
4. Функция unit() .
Если вы овладеете этими четырьмя функциями, вы сможете создавать «аккуратные» данные из любого фрейма данных.