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