代码之家  ›  专栏  ›  技术社区  ›  Connor M

R使用RecordLinkage包

  •  1
  • Connor M  · 技术社区  · 10 年前

    我试图使用R包RecordLinkage在一个包含74000个条目的数据帧和一个包含大约350000个条目的数据帧之间找到重复条目。我使用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)
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   Connor M    10 年前

    事实证明,这是R在Temp文件夹中创建了一个巨大的文件,从而占用了我硬盘上有限的空间。我发现解决这一问题的最佳方法是增加要阻止的变量的数量 blockfld = c(2) blockfld = c(2:4) 当然,这只在这种阻塞设置对数据有意义的情况下有效。