Paren genereren en vergelijken

Data opschonen in R

Maggie Matsui

Content Developer @ DataCamp

Als joins niet werken

Linkertabel met kolommen event en time. Wedstrijden: Houston Rockets vs Chicago Bulls om 19:00. Miami Heat vs Los Angeles Lakers om 19:00. Brooklyn Nets vs Orlando Magic om 20:00. Denver Nuggets vs Miami Heat om 21:00. San Antonio Spurs vs Atlanta Hawks om 21:00. Rechtertabel: NBA: Nets vs Magic om 8pm. NBA: Bulls vs Rockets om 9pm. NBA: Heat vs Lakers om 7pm. NBA: Grizzlies vs Heat om 10pm. NBA: Heat vs Cavaliers om 9pm.

Data opschonen in R

Als joins niet werken

Data opschonen in R

Wat is record linkage?

record_linkage_1.png

Data opschonen in R

Wat is record linkage?

Links twee databases met bezems, gelabeld Data A en Data B

Data opschonen in R

Wat is record linkage?

Pijlen van Data A en Data B naar drie paren personen, gelabeld Paren genereren

Data opschonen in R

Wat is record linkage?

Pijl van paren genereren naar twee kolommen met cirkels en pijlen in diverse richtingen. Beschrijving: paren vergelijken.

Data opschonen in R

Wat is record linkage?

Pijl van paren vergelijken naar een persoon met een bordje .93. Gelabeld: paren scoren.

Data opschonen in R

Wat is record linkage?

Pijl van paren scoren naar een ketting, gelabeld: data koppelen.

Data opschonen in R

Wat is record linkage?

Zelfde diagram met een blauw kader om de stap paren genereren

Data opschonen in R

Paren van records

Twee tabellen, df_A en df_B, met namen, postcode en staat. In df_A is Keaton Z Snyder, zip 15020, staat PA gemarkeerd. In df_B is Keaton Snyder, zip 15020, staat PA gemarkeerd.

Data opschonen in R

Paren genereren

Dezelfde tabellen met lijnen van elke rij in df_A naar elke rij in df_B: alle combinaties.

Data opschonen in R

Paren genereren in R

library(reclin)
pair_blocking(df_A, df_B)
Eenvoudige blocking
  Geen blocking gebruikt.
  Eerste dataset:  5 records
  Tweede dataset: 5 records
  Totaal aantal paren: 25 paren

ldat met 25 rijen en 2 kolommen x y 1 1 1 2 2 1 3 3 1 ...
Data opschonen in R

Te veel paren

Dezelfde tabellen met meer rijen en nog meer lijnen tussen elk paar.

Data opschonen in R

Blocking

Dezelfde tabellen, maar alleen rijen met dezelfde staat zijn verbonden.

Neem alleen paren mee die overeenkomen op de blockingvariabele (State)

Data opschonen in R

Pair blocking in R

pair_blocking(df_A, df_B, blocking_var = "state")
Eenvoudige blocking                               ldat met 8 rijen en 2 kolommen
  Blockingvariabele(n): state                        x y
  Eerste dataset:  5 records                       1 1 1
  Tweede dataset: 5 records                        2 1 4
  Totaal aantal paren: 8 paren                     3 2 3
                                                    4 2 5
                                                5 3 2
                                                    6 4 2
                                                    7 5 1
                                                    8 5 4
Data opschonen in R

Paren vergelijken

Diagram met stappen van record linkage, met de stap paren vergelijken gemarkeerd.

Data opschonen in R

Paren vergelijken

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

compare_pairs(by = "name", default_comparator = lcs())
Vergelijken                                    ldat met 8 rijen en 3 kolommen            
  Op: name                                      x y      name
                                              1 1 1 0.3529412
Eenvoudige blocking                              2 1 4 0.3030303
  Blockingvariabele(n): state                 3 2 3 0.9285714
  Eerste dataset:  5 records                  4 2 5 0.2962963    
  Tweede dataset: 5 records                  ...
  Totaal aantal paren: 8 paren              8 5 4 0.3333333
Data opschonen in R

Meerdere kolommen vergelijken

pair_blocking(df_A, df_B, blocking_var = "state") %>%
  compare_pairs(by = c("name", "zip"), default_comparator = lcs())
Vergelijken                                    ldat met 8 rijen en 4 kolommen
  Op: name, zip                                x y      name zip
                                           1 1 1 0.3529412 0.4
Eenvoudige blocking                            2 1 4 0.3030303 0.2
  Blockingvariabele(n): state              3 2 3 0.9285714 1.0
  Eerste dataset:  5 records               4 2 5 0.2962963 0.2
  Tweede dataset: 5 records               ...
  Totaal aantal paren: 8 paren             8 5 4 0.3333333 0.2
Data opschonen in R

Verschillende vergelijkers

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Data opschonen in R

Laten we oefenen!

Data opschonen in R

Preparing Video For Download...