0

一般而言,我对数据链接尤其是 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)identity函数中的参数是compare.linkage()可选的吗?如果是这样,当你把它放在外面和把它放进去时会发生什么?

(c) 即使在没有“黄金标准”的情况下,是否可以使用此软件包进行记录联动,而不是记录联动评估?

亲切的问候, 图马尼

4

1 回答 1

1

图马尼,

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

直接回答您的问题:

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

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

(c) 我不确定您所说的“记录链接”与“记录链接评估”是什么意思。记录联动可以理解为一个以比较模式为输入、匹配状态为输出的分类问题。

这是您可能想尝试的四步解决方案:

1)不带身份参数运行 compare.linkage 。

2)从记录对中创建两个身份变量。

3) 将两个恒等变量转换为恒等向量

4) 再次运行 compare.linkage 但使用身份参数。

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

于 2016-07-25T15:36:06.740 回答