Generarea și compararea perechilor

Curățarea datelor în R

Maggie Matsui

Content Developer @ DataCamp

Când join-urile nu funcționează

Tabelul din stânga are coloanele eveniment și oră. Meciurile afișate: Houston Rockets vs Chicago Bulls la 19:00. Miami Heat vs Los Angeles Lakers la 19:00. Brooklyn Nets vs Orlando Magic la 20:00. Denver Nuggets vs Miami Heat la 21:00. San Antonio Spurs vs Atlanta Hawks la 21:00. Tabelul din dreapta: NBA: Nets vs Magic la 20:00. NBA: Bulls vs Rockets la 21:00. NBA: Heat vs Lakers la 19:00. NBA: Grizzlies vs Heat la 22:00. NBA: Heat vs Cavaliers la 21:00.

Curățarea datelor în R

Când join-urile nu funcționează

Curățarea datelor în R

Ce este legarea înregistrărilor?

record_linkage_1.png

Curățarea datelor în R

Ce este legarea înregistrărilor?

În stânga, două baze de date cu mături etichetate Data A și Data B

Curățarea datelor în R

Ce este legarea înregistrărilor?

Săgeți de la Data A și Data B către trei perechi de persoane, etichetat: Generare perechi

Curățarea datelor în R

Ce este legarea înregistrărilor?

Săgeată de la generare perechi la două coloane de cercuri cu săgeți în diverse direcții. Descriere: comparare perechi.

Curățarea datelor în R

Ce este legarea înregistrărilor?

Săgeată de la comparare perechi la o figură a unei persoane care ține un semn cu .93. Etichetat: scorare perechi.

Curățarea datelor în R

Ce este legarea înregistrărilor?

Săgeată de la scorare perechi la un lanț, etichetat: legare date.

Curățarea datelor în R

Ce este legarea înregistrărilor?

Același diagram cu un chenar albastru în jurul pasului de generare perechi

Curățarea datelor în R

Perechi de înregistrări

Două tabele, df_A și df_B, cu nume, coduri poștale și stat. Un rând în df_A este evidențiat pentru Keaton Z Snyder, zip 15020, PA. Un rând în df_B pentru Keaton Snyder, zip 15020, PA.

Curățarea datelor în R

Generarea perechilor

Aceleași tabele cu linii de la fiecare rând din df_A la fiecare rând din df_B, arătând toate combinațiile.

Curățarea datelor în R

Generarea perechilor în R

library(reclin)
pair_blocking(df_A, df_B)
Simple blocking
  No blocking used.
  First data set:  5 records
  Second data set: 5 records
  Total number of pairs: 25 pairs

ldat with 25 rows and 2 columns x y 1 1 1 2 2 1 3 3 1 ...
Curățarea datelor în R

Prea multe perechi

Aceleași tabele extinse cu mai multe rânduri și mai multe linii care conectează fiecare pereche.

Curățarea datelor în R

Blocare

Aceleași tabele, dar doar rândurile cu același stat sunt conectate prin linii.

Se consideră doar perechile care coincid pe variabila de blocare (Stat)

Curățarea datelor în R

Blocare perechi în R

pair_blocking(df_A, df_B, blocking_var = "state")
Simple blocking                                 ldat with 8 rows and 2 columns
  Blocking variable(s): state                     x y
  First data set:  5 records                    1 1 1
  Second data set: 5 records                    2 1 4
  Total number of pairs: 8 pairs                3 2 3
                                                4 2 5
                                                5 3 2
                                                6 4 2
                                                7 5 1
                                                8 5 4
Curățarea datelor în R

Compararea perechilor

Diagrama pașilor de legare a înregistrărilor cu pasul de comparare perechi evidențiat.

Curățarea datelor în R

Compararea perechilor

pair_blocking(df_A, df_B, blocking_var = "state") %>%

compare_pairs(by = "name", default_comparator = lcs())
Compare                                     ldat with 8 rows and 3 columns            
  By: name                                      x y      name
                                              1 1 1 0.3529412
Simple blocking                               2 1 4 0.3030303
  Blocking variable(s): state                 3 2 3 0.9285714
  First data set:  5 records                  4 2 5 0.2962963    
  Second data set: 5 records                  ...
  Total number of pairs: 8 pairs              8 5 4 0.3333333
Curățarea datelor în R

Compararea mai multor coloane

pair_blocking(df_A, df_B, blocking_var = "state") %>%
  compare_pairs(by = c("name", "zip"), default_comparator = lcs())
Compare                                    ldat with 8 rows and 4 columns
  By: name, zip                              x y      name zip
                                           1 1 1 0.3529412 0.4
Simple blocking                            2 1 4 0.3030303 0.2
  Blocking variable(s): state              3 2 3 0.9285714 1.0
  First data set:  5 records               4 2 5 0.2962963 0.2
  Second data set: 5 records               ...
  Total number of pairs: 8 pairs           8 5 4 0.3333333 0.2
Curățarea datelor în R

Comparatori diferiți

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Curățarea datelor în R

Să exersăm!

Curățarea datelor în R

Preparing Video For Download...