Verificare l'appartenenza

Pulizia dei dati in R

Maggie Matsui

Content Developer @ DataCamp

Dati categorici

  • Le variabili categoriche hanno un insieme fisso e noto di valori possibili
Dato Valori di esempio
Stato civile unmarried, married
Fascia di reddito familiare 0-20K, 20-40K, ...
Taglia T-shirt S, M, L, XL
Pulizia dei dati in R

Factor

  • In un factor, ogni categoria è memorizzata come numero e ha un'etichetta corrispondente
Dato Etichette Rappresentazione numerica
Stato civile unmarried, married 1, 2
Fascia di reddito familiare 0-20K, 20-40K, ... 1, 2, ...
Taglia T-shirt S, M, L, XL 1, 2, 3, 4
Pulizia dei dati in R

Livelli di un 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"
Pulizia dei dati in R

Valori che non appartengono

  • I factor non possono avere valori fuori da quelli predefiniti
Dato Livelli Non consentito
Stato civile unmarried, married divorced
Fascia di reddito familiare 0-20K, 20-40K, ... 10-30K
Taglia T-shirt S, M, L, XL S/M
Pulizia dei dati in R

Come arriviamo a questi valori?

 

A sinistra, Errori di inserimento dati rappresentati da una casella di testo con cursore per testo libero e un menu a discesa. A destra, errori di parsing rappresentati da un database.

Pulizia dei dati in R

Join di filtraggio: ripasso rapido

  • Mantiene o rimuove osservazioni dalla prima tabella senza aggiungere colonne

Titolo: Semi-join. Sottotitolo: Quali osservazioni di X sono anche in Y? A sinistra, una tabella a una colonna chiamata X con valori a, b e c. A destra, una tabella a una colonna chiamata Y con valori a, c e d. Le a e le c di ciascuna tabella sono collegate da linee. In X, le celle per a e c sono evidenziate.

Pulizia dei dati in R

Join di filtraggio: ripasso rapido

  • Mantiene o rimuove osservazioni dalla prima tabella senza aggiungere colonne

Titolo: Anti-join. Sottotitolo: Quali osservazioni di X non sono in Y? A sinistra, una tabella a una colonna chiamata X con valori a, b e c. A destra, una tabella a una colonna chiamata Y con valori a, c e d. Le a e le c di ciascuna tabella sono collegate da linee. In X, la cella per b è evidenziata.

Pulizia dei dati in R

Esempio: gruppo sanguigno

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-
Pulizia dei dati in R

Esempio: gruppo sanguigno

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-
Pulizia dei dati in R

Trovare i non membri

Diagramma di Venn. Il cerchio sinistro rappresenta study_data e il destro i blood types. A sinistra c'è Z+. Nella parte centrale A-, O-, AB+, A+, O+ e B-. A destra B+ e AB-. Lo Z+ a sinistra è in rosso.

Pulizia dei dati in R

Anti-join

study_data %>%
  anti_join(blood_types, by = "blood_type")
      name   birthday blood_type
1 Jennifer 2019-12-17         Z+
Pulizia dei dati in R

Rimuovere i non membri

Diagramma di Venn. Il cerchio sinistro rappresenta study_data e il destro i blood types. A sinistra c'è Z+. Nella parte centrale A-, O-, AB+, A+, O+ e B-. A destra B+ e AB-. I gruppi centrali sono in blu.

Pulizia dei dati in 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+
Pulizia dei dati in R

Esercitiamoci!

Pulizia dei dati in R

Preparing Video For Download...