0

我正在使用包版本 0.4-12 和 R 版本 4.0.0

我过去使用的数据链接代码不再像我使用 R 版本 3.6.3 时那样运行

library(tidyverse)
library(RecordLinkage)

data("RLdata500")
data("RLdata10000")# Creating package datasets to link; dat1 and dat2
dat1 <- RLdata500
dat2 <- bind_rows(RLdata500, RLdata10000)

除了 strcmpfun 参数设置为“jarowinkler”或“levenshtein”之外,下面两个链接的代码是相同的。

“levenshtein”代码运行良好,但 jarowinkler” 链接无法为“allpairs_jw”生成任何结果。

# Jaro-Winkler with Package data
rpairs <- RLBigDataLinkage(dat1, dat2, 
                        strcmp = TRUE, 
                        strcmpfun = "jarowinkler",
                        exclude = c("fname_c2", "lname_c2"))

epi <- epiWeights(rpairs)

allpairs_jw <- getPairs(epi, min.weight = 0.80)


# Levenshtein with Package data
rpairs <- RLBigDataLinkage(dat1, dat2, 
                        strcmp = TRUE, 
                        strcmpfun = "levenshtein",
                        exclude = c("fname_c2", "lname_c2"))

epi <- epiWeights(rpairs)

allpairs_lv <- getPairs(epi, min.weight = 0.80)


> head(allpairs_jw)
[1] id       fname_c1 fname_c2 lname_c1 lname_c2 by       bm       bd       is_match
<0 rows> (or 0-length row.names)

> head(allpairs_lv)
     id fname_c1 fname_c2 lname_c1 lname_c2   by bm bd is_match    Weight
1     1  CARSTEN     <NA>    MEIER     <NA> 1949  7 22                   
2     1  CARSTEN     <NA>    MEIER     <NA> 1949  7 22     <NA> 1.0000000
3                                                                        
4     2     GERD     <NA>    BAUER     <NA> 1968  7 27                   
5     2     GERD     <NA>    BAUER     <NA> 1968  7 27     <NA> 1.0000000
6                                                                        

任何指导将不胜感激

4

1 回答 1

1

底层代码中有一个明显的错误。包管理员已经解决了这个问题并将其推给了 CRAN。我已经针对其他记录链接包测试了更新的包,它似乎在我当前的环境中运行良好。

R 版本 4.0.2 (2020-06-22) RStudio 版本 1.3.959

于 2020-10-30T22:24:54.560 回答