R 使用 RecordLinkage 包

R working with RecordLinkage Package

我正在尝试使用 R 包 RecordLinkage 在一个包含 74,000 个条目的数据框和一个包含大约 350,000 个条目的数据框之间查找重复条目。我已经使用 RLBigDataLinkage 生成了一个对象,rpairs 但无法让它完成加权位。它吐出的错误是:

Error in ff(initdata = initdata, length = length, levels = levels, ordered = ordered, : no diskspace

代码如下:

Missing <- data.frame(Missing$fulladdr, Missing$zip, Missing$XCOORD, Missing$YCOORD)

Missing <- rename(Missing, c("Missing.fulladdr"="addr", "Missing.zip"="zip", "Missing.XCOORD"="X", "Missing.YCOORD"="Y"))

samlink <- data.frame(sam$fulladdr, sam$zip, sam$COB.SAM.Longitude, sam$COB.SAM.Latitude)

samlink <- rename(samlink, c("sam.fulladdr"="addr", "sam.zip"="zip", "sam.COB.SAM.Latitude"="Y", "sam.COB.SAM.Longitude"="X"))

rpairs <- RLBigDataLinkage(dataset1 = samlink, dataset2 = Missing, 
                          blockfld = c(2), strcmp = c(1), strcmpfun =  "jarowinkler")

rpairs_em <- emWeights(rpairs)

事实证明,这是 R 在 Temp 文件夹中创建了一个巨大的文件,从而耗尽了我 HD 上有限的 space 的结果。我发现解决这个问题的最好方法是增加一个人会阻止的变量的数量。在代码中,我将 blockfld = c(2) 更改为 blockfld = c(2:4) 当然,这只有在这种阻塞设置对数据有意义的情况下才有效。