Як використовувати функцію поширення в r (з прикладами)


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

Ця функція використовує такий базовий синтаксис:

спред (дані, значення ключа)

золото:

  • data : назва кадру даних
  • key : Стовпець, значення якого стануть іменами змінних
  • значення : Стовпець, де будуть заповнені значення нових змінних, створених з ключа

Наступні приклади показують, як використовувати цю функцію на практиці.

Приклад 1: розподіліть значення по двох стовпцях

Припустимо, що ми маємо наступний кадр даних у R:

 #create data frame
df <- data. frame (player= rep (c(' A ', ' B '), each= 4 ),
                 year= rep (c(1, 1, 2, 2), times= 2 ),
                 stat= rep (c(' points ', ' assists '), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

Ми можемо використовувати функцію spread() , щоб перетворити значення стовпця статистики у власні стовпці:

 library (tidyr)

#spread stat column across multiple columns
spread(df, key=stat, value=amount)

  player year assists points
1 to 1 6 14
2 to 2 7 18
3 B 1 9 22
4 B 2 4 38

Приклад 2: розподіл значень між більш ніж двома стовпцями

Припустимо, що ми маємо наступний кадр даних у R:

 #create data frame
df2 <- data. frame (player= rep (c(' A '), times= 8 ),
                 year= rep (c(1, 2), each= 4 ),
                 stat= rep (c(' points ', ' assists ', ' steals ', ' blocks '), times= 2 ),
                 amount=c(14, 6, 2, 1, 29, 9, 3, 4))

#view data frame
df2

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 1 steals 2
4 A 1 blocks 1
5 A 2 points 29
6 A 2 assists 9
7 A 2 steals 3
8 A 2 blocks 4

Ми можемо використовувати функцію spread() , щоб перетворити чотири унікальні значення в стовпці статистики в чотири нові стовпці:

 library (tidyr)

#spread stat column across multiple columns
spread(df2, key=stat, value=amount)

  player year assists blocks points steals
1 A 1 6 1 14 2
2 A 2 9 4 29 3

Додаткові ресурси

Метою пакета Tidyr є створення «охайних» даних, які мають такі характеристики:

  • Кожен стовпець є змінною.
  • Кожен рядок є спостереженням.
  • Кожна клітинка є унікальним значенням.

Пакет Tidyr використовує чотири основні функції для створення впорядкованих даних:

1. Функція spread() .

2. Функція gather() .

3. Функція separate() .

4. Функція unit() .

Якщо ви освоїте ці чотири функції, ви зможете створювати «охайні» дані з будь-якого кадру даних.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *