如何使用R的RecordLinkage包找到记录匹配?



我对一般的数据链接,尤其是R RecordLinkage包相对陌生。我有如下数据:

require(RecordLinkage)
library(RCurl)
dss_member <- read.csv(text = getURL("https://raw.githubusercontent.com/kilimba/data/master/dss_member.csv"),
stringsAsFactors = F)
dss_member$id <- NULL
patient <- read.csv(text = getURL("https://raw.githubusercontent.com/kilimba/data/master/patient.csv"),
stringsAsFactors = F)
patient$id <- NULL
rpairs <- compare.linkage(patient,dss_member)
rpairs$pairs
rpairs <- epiWeights(rpairs) 
summary(rpairs)

如您所见,我有两个数据帧,dss_member(11行)和patient(5行)。用户James Earl Jones说,我在两者中都插入了一行,理论上应该绝对是一个链接。然而,我有两个担忧。

  1. rpairs$pairs导致输出,其中最后一列is_match始终显示为NA,尽管我确信两个数据集中至少有一行相同。这是什么意思?这与另一个SO问题有关,该问题尚待回答。

  2. 线路

    rpairs <- epiWeights(rpairs)

    summary(rpairs)

给出如下结果:

Linkage Data Set
5 records in data set 1 
11 records in data set 2 
55 record pairs 
0 matches
0 non-matches
55 pairs with unknown status

Weight distribution:
[0,0.2] (0.2,0.4] (0.4,0.6] (0.6,0.8]   (0.8,1] 
47         1         3         2         2 

(a) 为什么它显示0场比赛和0场非比赛,而至少在比赛中肯定有(James Earl Jones)

(b) 函数compare.linkage()中的identity参数是可选的吗?如果是这样的话,当你把它放在外面和放进去时会发生什么?

(c) 即使没有"金标准"也可以使用此包来执行记录链接,并且不能记录链接评估吗?

谨致问候,图迈尼

图迈尼,

您需要区分真实状态(假或真)和分类(非链接、可能或链接)。请参阅作者在《R Journal 2/2》(2010)上的文章、软件包手册以及作者在此处的回复:R RecordLinkage Identity。

直接回答您的问题:

(a) 输出显示"0匹配"one_answers"0不匹配",因为您在compare.linkage().中省略了identity1和identity2参数

(b) 是的,compare.linkage()中的identity1和identity2参数是可选的。如果省略了标识参数,则会忽略真正的匹配状态。如果您正确地指定了标识参数,那么将使用真正的匹配状态。

(c) 我不知道你所说的"记录链接"one_answers"记录链接评估"是什么意思。记录链接可以理解为一个以比较模式为输入、以匹配状态为输出的分类问题。

以下是您可能想要尝试的四步解决方案:

1) 在不带标识参数的情况下运行compare.linking

2) 从记录对中创建两个标识变量

3) 将两个身份变量转换为身份向量

4) 再次运行compare.linkage,但使用标识参数运行

安德斯·亚历山大andersalex@gmail.com

相关内容

  • 没有找到相关文章

最新更新