Verificarea apartenenței

Curățarea datelor în R

Maggie Matsui

Content Developer @ DataCamp

Date categoriale

  • Variabilele categoriale au un set fix și cunoscut de valori posibile
Date Exemple de valori
Stare civilă unmarried, married
Categorie venit gospodărie 0-20K, 20-40K, ...
Mărime tricou S, M, L, XL
Curățarea datelor în R

Factori

  • Într-un factor, fiecare categorie este stocată ca număr și are o etichetă corespunzătoare
Date Etichete Reprezentare numerică
Stare civilă unmarried, married 1, 2
Categorie venit gospodărie 0-20K, 20-40K, ... 1, 2, ...
Mărime tricou S, M, L, XL 1, 2, 3, 4
Curățarea datelor în R

Nivelurile unui factor

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"
Curățarea datelor în R

Valori care nu aparțin

  • factorii nu pot conține valori în afara celor predefinite
Date Niveluri Nepermis
Stare civilă unmarried, married divorced
Categorie venit gospodărie 0-20K, 20-40K, ... 10-30K
Mărime tricou S, M, L, XL S/M
Curățarea datelor în R

Cum ajungem la astfel de valori?

 

În stânga, Erori de introducere a datelor reprezentate printr-o casetă text cu cursor și un meniu derulant. În dreapta, erori de parsare reprezentate printr-o bază de date.

Curățarea datelor în R

Joinuri de filtrare: recapitulare

  • Păstrează sau elimină observații din primul tabel fără a adăuga coloane

Titlu: Semi-join. Subtitlu: Ce observații din X se regăsesc și în Y? În stânga, un tabel cu o coloană numit X cu valorile a, b și c. În dreapta, un tabel cu o coloană numit Y cu valorile a, c și d. Valorile a și c din fiecare tabel sunt conectate prin linii. În X, celulele pentru a și c sunt evidențiate.

Curățarea datelor în R

Joinuri de filtrare: recapitulare

  • Păstrează sau elimină observații din primul tabel fără a adăuga coloane

Titlu: Anti-join. Subtitlu: Ce observații din X nu se regăsesc în Y? În stânga, un tabel cu o coloană numit X cu valorile a, b și c. În dreapta, un tabel cu o coloană numit Y cu valorile a, c și d. Valorile a și c din fiecare tabel sunt conectate prin linii. În X, celula pentru b este evidențiată.

Curățarea datelor în R

Exemplu cu grupe sanguine

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-
Curățarea datelor în R

Exemplu cu grupe sanguine

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-
Curățarea datelor în R

Identificarea non-membrilor

Diagramă Venn. Cercul din stânga reprezintă study_data, cel din dreapta reprezintă grupele sanguine. În stânga se află Z+. În mijloc se află A-, O-, AB+, A+, O+ și B-. În dreapta se află B+ și AB-. Z+ din stânga este marcat cu roșu.

Curățarea datelor în R

Anti-join

study_data %>%
  anti_join(blood_types, by = "blood_type")
      name   birthday blood_type
1 Jennifer 2019-12-17         Z+
Curățarea datelor în R

Eliminarea non-membrilor

Diagramă Venn. Cercul din stânga reprezintă study_data, cel din dreapta reprezintă grupele sanguine. În stânga se află Z+. În mijloc se află A-, O-, AB+, A+, O+ și B-. În dreapta se află B+ și AB-. Grupele sanguine din mijloc sunt marcate cu albastru.

Curățarea datelor în 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+
Curățarea datelor în R

Să exersăm!

Curățarea datelor în R

Preparing Video For Download...