R包RecordLinkage的问题

时间:2011-09-03 12:11:06

标签: r

谁能告诉我这里我做错了什么。我正在尝试在玩具数据集上测试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。

由于

3 个答案:

答案 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