谁能告诉我这里我做错了什么。我正在尝试在玩具数据集上测试R包RecordLinkage的比较功能
> test<-cbind(
+ a = c(1, 1, 1),
+ b = c(2, 0, 2),
+ c = c(1, 2, 1))
>
> test
a b c
[1,] 1 2 1
[2,] 1 0 2
[3,] 1 2 1
>
> results <- compare.dedup(test)
>
> results$pairs
id1 id2 a b c is_match
1 1 2 1 0 0 NA
2 1 3 1 1 1 NA
3 2 3 1 0 0 NA
>
记录1和3明显匹配,但is_match是所有三对的NA。
由于
答案 0 :(得分:1)
因为您忘记使用身份索引:
> compare.dedup(cbind(a=c(1,1,1), b=c(2,0,2), c=c(1,2,1)), identity=c(1,2,3))$pair
id1 id2 a b c is_match
1 1 2 1 0 0 0
2 1 3 1 1 1 0
3 2 3 1 0 0 0
答案 1 :(得分:0)
对于像我一样偶然发现这个问题的人:输入
i=cbind(RLdata500,identity.RLdata500)
L = i[8] == 33
i[L,]
R中的它解释了identity.RLdata500是一个单独定义的向量,它包含唯一的ID。
我认为,它是分开定义的,因为否则,某些功能会自动使用这些数据,除非明确告知它们,否则不会这样......
要查看哪些行是重复的,请在R中键入以下内容:
<p>Example paragraph <ins id="example"></ins>.</p>
<script>
function getIt() {
return "it"
}
document.getElementById("example").innerHTML = getIt();
</script>
答案 2 :(得分:0)
我遇到了同样的问题,我有这个答案的可能解决方案这是由于身份参数。
从示例数据中,在Record Linkage包中,我发现此向量identity.RLdata500
携带有关500条记录中RLdata500
的重复记录的信息50条是重复记录
length(unique(identity.RLdata500))
[1] 450
我在我的数据集中找到了类似的列并存储为单独的向量,并将向量传递给身份参数
New_data_seq
118
118
New_data_seq <- R_New_data_zero$SEQ_NO
abc <- compare.dedup (R_New_data_zero,identity = New_data_seq)
BICODE ALCODE IS_T OID conc
I A 1 99 IA1
I A 1 99 IA1
abc$pairs[1:1, ]
id1 id2 BICODE ALCODE IS_T OID conc is_match
1 2 1 1 1 1 1 1