Перевірка належності

Очищення даних в R

Maggie Matsui

Content Developer @ DataCamp

Категоріальні дані

  • Категоріальні змінні мають фіксований і відомий набір можливих значень
Дані Приклади значень
Сімейний стан unmarried, married
Категорія доходу домогосподарства 0-20K, 20-40K, ...
Розмір футболки S, M, L, XL
Очищення даних в R

Фактори

  • У factor кожна категорія зберігається як число й має відповідну мітку
Дані Мітки Числове подання
Сімейний стан unmarried, married 1, 2
Категорія доходу домогосподарства 0-20K, 20-40K, ... 1, 2, ...
Розмір футболки S, M, L, XL 1, 2, 3, 4
Очищення даних в R

Рівні фактора

tshirt_size
L  XL XL L  M  M  M  L  XL L  S  M  M  S  S  M  XL S  L  S ... 
Levels: S M L XL
levels(tshirt_size)
"S"  "M"  "L"  "XL"
Очищення даних в R

Значення, що не належать

  • factor не може містити значень поза попередньо визначеними
Дані Рівні Заборонено
Сімейний стан unmarried, married divorced
Категорія доходу домогосподарства 0-20K, 20-40K, ... 10-30K
Розмір футболки S, M, L, XL S/M
Очищення даних в R

Як з'являються такі значення?

 

Ліворуч: помилки введення даних — текстове поле з курсором для довільного тексту та випадний список. Праворуч: помилки парсингу — база даних.

Очищення даних в R

Фільтрувальні з'єднання: короткий огляд

  • Залишає або прибирає спостереження з першої таблиці без додавання стовпців

Заголовок: Semi-join. Підзаголовок: Які спостереження з X також є в Y? Ліворуч — одностовпцева таблиця X зі значеннями a, b, c. Праворуч — одностовпцева таблиця Y зі значеннями a, c, d. a та c в кожній таблиці з'єднані лініями. У X підсвічено комірки a і c.

Очищення даних в R

Фільтрувальні з'єднання: короткий огляд

  • Залишає або прибирає спостереження з першої таблиці без додавання стовпців

Заголовок: Anti-join. Підзаголовок: Яких спостережень з X нема в Y? Ліворуч — одностовпцева таблиця X зі значеннями a, b, c. Праворуч — одностовпцева таблиця Y зі значеннями a, c, d. a та c в кожній таблиці з'єднані лініями. У X підсвічено комірку b.

Очищення даних в R

Приклад із групами крові

study_data
      name   birthday blood_type
1     Beth 2019-10-20         B-
2 Ignatius 2020-07-08         A-
3     Paul 2019-08-12         O+
4    Helen 2019-03-17         O-
5 Jennifer 2019-12-17         Z+
6  Kennedy 2020-04-27         A+
7    Keith 2019-04-19        AB+
blood_types
  blood_type
1         O-
2         O+
3         A-
4         A+
5         B+
6         B-
7        AB+
8        AB-
Очищення даних в R

Приклад із групами крові

study_data
      name   birthday blood_type
1     Beth 2019-10-20         B-
2 Ignatius 2020-07-08         A-
3     Paul 2019-08-12         O+
4    Helen 2019-03-17         O-
5 Jennifer 2019-12-17         Z+  <--
6  Kennedy 2020-04-27         A+
7    Keith 2019-04-19        AB+
blood_types
  blood_type
1         O-
2         O+
3         A-
4         A+
5         B+
6         B-
7        AB+
8        AB-
Очищення даних в R

Пошук тих, хто не належить

Діаграма Венна. Ліве коло — study_data, праве — blood_types. Ліворуч — Z+. У спільній частині — A-, O-, AB+, A+, O+, B-. Праворуч — B+ та AB-. Z+ ліворуч виділено червоним.

Очищення даних в R

Anti-join

study_data %>%
  anti_join(blood_types, by = "blood_type")
      name   birthday blood_type
1 Jennifer 2019-12-17         Z+
Очищення даних в R

Вилучення тих, хто не належить

Діаграма Венна. Ліве коло — study_data, праве — blood_types. Ліворуч — Z+. У спільній частині — A-, O-, AB+, A+, O+, B-. Типи крові в середині виділено синім.

Очищення даних в R

Semi-join

study_data %>%
  semi_join(blood_types, by = "blood_type")
      name   birthday blood_type
1     Beth 2019-10-20         B-
2 Ignatius 2020-07-08         A-
3     Paul 2019-08-12         O+
4    Helen 2019-03-17         O-
5  Kennedy 2020-04-27         A+
6    Keith 2019-04-19        AB+
Очищення даних в R

Давайте потренуємось!

Очищення даних в R

Preparing Video For Download...