Tạo và so sánh cặp

Làm sạch dữ liệu trong R

Maggie Matsui

Content Developer @ DataCamp

Khi join không hiệu quả

Bảng trái có cột sự kiện và thời gian. Trận: Houston Rockets vs Chicago Bulls lúc 19:00. Miami Heat vs Los Angeles Lakers lúc 19:00. Brooklyn Nets vs Orlando Magic lúc 20:00. Denver Nuggets vs Miami Heat lúc 21:00. San Antonio Spurs vs Atlanta Hawks lúc 21:00. Bảng phải có: NBA: Nets vs Magic lúc 8pm. NBA: Bulls vs Rockets lúc 9pm. NBA: Heat vs Lakers lúc 7pm. NBA: Grizzlies vs Heat lúc 10pm. NBA: Heat vs Cavaliers lúc 9pm.

Làm sạch dữ liệu trong R

Khi join không hiệu quả

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

record_linkage_1.png

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Bên trái, hai cơ sở dữ liệu với chổi, nhãn Data A và Data B

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Mũi tên từ Data A và Data B đến ba cặp người, nhãn: Tạo cặp

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Mũi tên từ tạo cặp đến hai cột vòng tròn với các mũi tên chỉ vào nhau theo nhiều hướng. Mô tả: so sánh cặp.

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Mũi tên từ so sánh cặp đến hình người cầm biển ghi .93. Nhãn: chấm điểm cặp.

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Mũi tên từ chấm điểm cặp đến một sợi xích, nhãn: liên kết dữ liệu.

Làm sạch dữ liệu trong R

Liên kết bản ghi là gì?

Cùng sơ đồ với khung xanh quanh bước tạo cặp

Làm sạch dữ liệu trong R

Cặp bản ghi

Hai bảng, df_A và df_B, mỗi bảng chứa tên, mã zip và bang. Một hàng trong df_A được tô sáng: Keaton Z Snyder, zip 15020, bang PA. Một hàng trong df_B được tô sáng: Keaton Snyder, zip 15020, bang PA.

Làm sạch dữ liệu trong R

Tạo cặp

Cùng các bảng với các đường nối từ mọi hàng ở df_A đến mọi hàng ở df_B để thể hiện mọi kết hợp.

Làm sạch dữ liệu trong R

Tạo cặp trong 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 ...
Làm sạch dữ liệu trong R

Quá nhiều cặp

Cùng các bảng kéo dài xuống với nhiều hàng hơn, có nhiều đường nối hơn giữa các cặp.

Làm sạch dữ liệu trong R

Blocking

Cùng các bảng, nhưng chỉ nối các hàng có cùng bang.

Chỉ xét cặp khi trùng biến chặn (Bang)

Làm sạch dữ liệu trong R

Chặn cặp trong 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
Làm sạch dữ liệu trong R

So sánh cặp

Sơ đồ các bước liên kết bản ghi với bước so sánh cặp được tô sáng.

Làm sạch dữ liệu trong R

So sánh cặp

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
Làm sạch dữ liệu trong R

So sánh nhiều cột

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
Làm sạch dữ liệu trong R

Bộ so sánh khác nhau

  • default_comparator = lcs()
  • default_comparator = jaccard()
  • default_comparator = jaro_winkler()
Làm sạch dữ liệu trong R

¡Vamos a practicar!

Làm sạch dữ liệu trong R

Preparing Video For Download...