Generera och jämföra par

Datarensning i R

Maggie Matsui

Content Developer @ DataCamp

När joinar inte fungerar

Vänster tabell har kolumner för match och tid. Matcherna som visas är Houston Rockets mot Chicago Bulls kl. 19:00. Miami Heat mot Los Angeles Lakers kl. 19:00. Brooklyn Nets mot Orlando Magic kl. 20:00. Denver Nuggets mot Miami Heat kl. 21:00. San Antonio Spurs mot Atlanta Hawks kl. 21:00. Tabellen till höger visar matcher: NBA: Nets vs Magic kl. 20. NBA: Bulls vs Rockets kl. 21. NBA: Heat vs Lakers kl. 19. NBA: Grizzlies vs Heat kl. 22. NBA: Heat vs Cavaliers kl. 21.

Datarensning i R

När joinar inte fungerar

Datarensning i R

Vad är postlänkning?

record_linkage_1.png

Datarensning i R

Vad är postlänkning?

Till vänster: två databaser med kvastar märkta Data A och Data B

Datarensning i R

Vad är postlänkning?

Pilar pekar från Data A och Data B mot tre par av personer, märkta Generera par

Datarensning i R

Vad är postlänkning?

En pil pekar från generera par till två kolumner med cirklar och pilar som pekar mot varandra i olika riktningar. Beskrivningen är jämför par.

Datarensning i R

Vad är postlänkning?

En pil pekar från jämför par till en figur av en person som håller upp ett skylt med .93. Märkt poängsätt par.

Datarensning i R

Vad är postlänkning?

En pil från poängsätt par till en kedja, märkt länka data.

Datarensning i R

Vad är postlänkning?

Samma diagram med en blå ruta runt steget generera par

Datarensning i R

Par av poster

Två tabeller, df_A och df_B, med namn, postnummer och delstat. En rad i df_A är markerad för Keaton Z Snyder, postnummer 15020, delstat PA. En rad i df_B är markerad för Keaton Snyder, postnummer 15020, delstat PA.

Datarensning i R

Generera par

Samma tabeller med linjer från varje rad i df_A till varje rad i df_B för att visa alla kombinationer.

Datarensning i R

Generera par i 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 ...
Datarensning i R

För många par

Samma tabeller utökade nedåt med fler rader och ännu fler linjer som förbinder varje par.

Datarensning i R

Blockering

Samma tabeller, men enbart rader med samma delstat är förbundna med linjer.

Jämför bara par som stämmer överens på blockeringsvariabeln (delstat)

Datarensning i R

Parblockering i 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
Datarensning i R

Jämföra par

Diagram över postlänkningssteg med steget jämför par markerat.

Datarensning i R

Jämföra par

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
Datarensning i R

Jämföra flera kolumner

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
Datarensning i R

Olika jämförelseoperatorer

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Datarensning i R

Nu kör vi en övning!

Datarensning i R

Preparing Video For Download...