Sprawdzanie przynależności

Czyszczenie danych w R

Maggie Matsui

Content Developer @ DataCamp

Dane kategoryczne

  • Zmienne kategoryczne mają stały i znany zbiór możliwych wartości
Dane Przykładowe wartości
Stan cywilny unmarried, married
Kategoria dochodu gospodarstwa domowego 0-20K, 20-40K, ...
Rozmiar koszulki S, M, L, XL
Czyszczenie danych w R

Faktory

  • W factorze każda kategoria jest przechowywana jako liczba z odpowiadającą jej etykietą
Dane Etykiety Reprezentacja numeryczna
Stan cywilny unmarried, married 1, 2
Kategoria dochodu gospodarstwa domowego 0-20K, 20-40K, ... 1, 2, ...
Rozmiar koszulki S, M, L, XL 1, 2, 3, 4
Czyszczenie danych w R

Poziomy faktora

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"
Czyszczenie danych w R

Wartości spoza zbioru

  • factory nie mogą przyjmować wartości spoza zdefiniowanego zbioru
Dane Poziomy Niedozwolone
Stan cywilny unmarried, married divorced
Kategoria dochodu gospodarstwa domowego 0-20K, 20-40K, ... 10-30K
Rozmiar koszulki S, M, L, XL S/M
Czyszczenie danych w R

Skąd biorą się takie wartości?

 

Po lewej: błędy wprowadzania danych – pole tekstowe z kursorem oraz rozwijane menu. Po prawej: błędy parsowania – ikona bazy danych.

Czyszczenie danych w R

Złączenia filtrujące: krótkie powtórzenie

  • Zachowuje lub usuwa obserwacje z pierwszej tabeli bez dodawania kolumn

Tytuł: Semi-join. Podtytuł: Które obserwacje X są też w Y? Po lewej jednokolumnowa tabela X z wartościami a, b, c. Po prawej jednokolumnowa tabela Y z wartościami a, c, d. Wartości a i c są połączone liniami. W tabeli X komórki a i c są wyróżnione.

Czyszczenie danych w R

Złączenia filtrujące: krótkie powtórzenie

  • Zachowuje lub usuwa obserwacje z pierwszej tabeli bez dodawania kolumn

Tytuł: Anti-join. Podtytuł: Które obserwacje X nie są w Y? Po lewej jednokolumnowa tabela X z wartościami a, b, c. Po prawej jednokolumnowa tabela Y z wartościami a, c, d. Wartości a i c są połączone liniami. W tabeli X komórka b jest wyróżniona.

Czyszczenie danych w R

Przykład grupy krwi

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-
Czyszczenie danych w R

Przykład grupy krwi

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-
Czyszczenie danych w R

Znajdowanie elementów spoza zbioru

Diagram Venna. Lewe koło reprezentuje study_data, prawe – blood_types. Po lewej stronie: Z+. W części wspólnej: A-, O-, AB+, A+, O+, B-. Po prawej: B+ i AB-. Z+ po lewej jest zaznaczone na czerwono.

Czyszczenie danych w R

Anti-join

study_data %>%
  anti_join(blood_types, by = "blood_type")
      name   birthday blood_type
1 Jennifer 2019-12-17         Z+
Czyszczenie danych w R

Usuwanie elementów spoza zbioru

Diagram Venna. Lewe koło reprezentuje study_data, prawe – blood_types. Po lewej stronie: Z+. W części wspólnej: A-, O-, AB+, A+, O+, B-. Po prawej: B+ i AB-. Grupy krwi w części wspólnej są zaznaczone na niebiesko.

Czyszczenie danych w 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+
Czyszczenie danych w R

Czas na ćwiczenia!

Czyszczenie danych w R

Preparing Video For Download...