一般来说数据链接相对较新,特别是R RecordLinkage package。我有以下数据:
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。但是我有两个问题。
行rpairs$pairs
会产生输出,其中最后一列is_match
始终显示为NA,即使我确定两个数据集中至少有一行相同。这是什么意思?这与another SO question有关,尚未得到解答。
行
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)即使没有“黄金标准”来执行记录链接,并且不记录链接评估,是否可以使用此包?
亲切的问候, Tumaini
答案 0 :(得分:0)
Tumaini,
您需要区分真实状态(虚假或真实)和分类(非链接,可能或链接)。见作者&#39; R Journal 2/2(2010)中的文章,包装手册和作者&#39;在此回复:R RecordLinkage Identity。
直接回答您的问题:
(a)输出显示&#34; 0匹配&#34;和&#34; 0不匹配&#34;因为你在compare.linkage()中省略了identity1和identity2参数。
(b)是的,compare.linkage()中的identity1和identitity2参数是可选的。如果省略标识参数,则忽略真实匹配状态。如果正确指定了标识参数,则使用真正的匹配状态。
(c)我不确定你的意思是&#34;记录联动&#34;与#34;记录联系评估&#34;。记录链接可以被理解为分类问题,其中比较模式作为输入并且匹配状态作为输出。
以下是您可能需要尝试的四步解决方案:
1)运行compare.linkage ,不带身份参数。
2)从记录对中创建两个标识变量。
3)将两个身份变量转换为身份向量。
4)再次运行compare.linkage,但带有标识参数。
Anders Alexandersson andersalex@gmail.com