如何在R包RecordLinkage中使用compare.linkage——意外的输出

2023-12-07

我正在使用R包RecordLinkage中的compare.linkage函数, 得到的结果我知道是错误的,所以我知道我误解了一些东西。 我正在使用适用于 x64 Windows 的 R 3.2.3。我对 Stata 非常熟悉,但对 R 不太熟悉。我只是在 r-help 上交叉发帖。

我可以从阻止字段创建记录对,但所有对都是未知状态 (NA)。我无法创建匹配或不匹配。我想要一个简单的工作示例,说明如何使用 RecordLinkage 包链接数据集。看来手册和 R Journal Vol. 2/2 仅展示如何使用compare.dedup 函数对单个数据集进行重复数据删除,而不是如何使用compare.linkage 函数将两个数据集链接在一起。我可以重现 R Journal 文章中的示例,因此我的 R 安装没问题。

手册中的示例数据集对 7 个变量有 500 和 10000 个观测值,但 1 个观测值和 2 个变量就足以显示问题。 我的第一个比较模式如下所示:

  id1  id2 fname_c1 bm is_match
1  17  343        1  1       NA

相反,我想要并期望一个如下所示的比较模式:

  id1  id2 fname_c1 bm is_match
1  17  343        1  1       1

我的阻塞变量是 fname_c1,代表名字的第一个组成部分。我的匹配变量是 bm 代表出生月份。我的理解是,示例输出中的第 1 行是 fname_c1 在基础数据集中匹配的第一行。当两个链接数据集中的匹配变量 bm=1 时,我希望并期望 is_match 为 1,如示例中所示。

有关更多详细信息,这是我输入的内容和 R 输出:

> library(RecordLinkage)
> data(RLdata500)
> data(RLdata10000)
> RLdata500[17, ]
    fname_c1 fname_c2 lname_c1 lname_c2   by bm bd
17 ALEXANDER     <NA>  MUELLER     <NA> 1974  9  9
> RLdata10000[343, ]
     fname_c1 fname_c2 lname_c1 lname_c2   by bm bd
343 ALEXANDER     <NA>  BAUMANN     <NA> 1957  9  7
> rpairs <- compare.linkage(RLdata500,RLdata10000,blockfld=c(1),     exclude=c(2:5,7))
> rpairs$pairs[c(1:2), ] # Why is_match=NA? (should be 1)
  id1  id2 fname_c1 bm is_match
1  17  343        1  1       NA
2  17 2385        1  0       NA
> rpairs <- epiWeights(rpairs) # (Weight calculation)
> summary(rpairs) # (0 matches in Linkage Dataset)

Linkage Data Set

500 records in data set 1 
10000 records in data set 2 
47890 record pairs 

0 matches
0 non-matches
47890 pairs with unknown status


Weight distribution:
[omitted here to save space]

参考:

  1. “RecordLinkage”包手册 (可在线获取 PDF 版本,网址为https://cran.r-project.org/web/packages/RecordLinkage/RecordLinkage.pdf)

  2. R 期刊文章文章“RecordLinkage 包:检测数据中的错误” (可在线获取 PDF 版本,网址为https://journal.r-project.org/archive/2010-2/RJournal_2010-2_Sariyar+Borg.pdf)

我在手册和 R 期刊文章中看到了一些关于真实匹配结果的恒等论证的内容,但我想我只需要它作为参考(“黄金标准”)数据集。对于我的示例,两个基础数据集中都有一个非缺失值 (bm=1),因此这并不是结果为 NA 的原因。我缺少什么?如何使用 R 中的 Compare.linkage 链接两个简单的数据集?

安德斯·亚历山大森

[电子邮件受保护]


我遇到了同样的问题,并且我对此答案有可能的解决方案这是由于identity范围。

从样本数据中,在Record Linkage包中,我发现这个向量identity.RLdata500携带有关重复记录的信息RLdata500500 条记录中有 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在R包RecordLinkage中使用compare.linkage——意外的输出 的相关文章

  • 收集四列,其中两个键中包含值

    已经提出了类似的问题 但它们都涉及在一个关键列中收集多个列 我需要两个键中的多个列 这是我的数据框 ID measure A 1 measure A 2 measure B 1 measure B 2 1 8 25 23 5 4 5 2 8
  • 距数据帧中最近的非 NA 值的距离

    我有以下数据帧 df 我想添加一列 其中包含与每行最接近的非 NA 值的距离 df lt data frame x 1 20 df c 1 3 4 5 11 14 15 16 x lt NA 换句话说 我正在寻找以下值 df distanc
  • R中无法连接odbc数据库

    我一直在尝试使用以下命令将我公司的 DMS 连接到 RodbcConnect命令 但收到以下消息 myConn lt odbcConnect NZSQL uid cejacobson pwd password Warning message
  • 在 R 中安全地计算算术表达式?

    Edit 好吧 由于似乎有很多混乱 我将稍微简化一下问题 您可以尝试回答下面的原始问题 或者您可以解决此版本并忽略该行下面的所有内容 我的目标是采用任意表达式并在极其受限的环境中对其进行评估 该环境将仅包含具有以下类型值的变量 数值向量 接
  • 在 R 中使用深度网络和 MNIST 数据读取手写数字第 3 部分

    我尝试编写一个基于深度网络的程序来读取手写数字 我在 Youtube 上找到了一个代码 https www youtube com watch v 5bso 5X7Zu4 https www youtube com watch v 5bso
  • ggsubplot 是否适用于 R 3.2.1+?

    CRAN 提供的 ggsubplot 版本与 R 的最新版本 例如 3 1 1 不兼容 运行 ggsubplot 示例会返回以下错误 Error in layout base data vars drop drop At least one
  • 根据 R 中的字符串模式选择行

    假设我有以下数据 df lt data frame name c TO for Turnover for people HC people Hello world beenie man apple pears TO is number c
  • 使用 roxygen2 导入两个同名函数

    我是 CRAN 包的维护者 在加载时收到以下消息 checking whether package qdap can be installed 10s 10s WARNING Found the following significant
  • 如何在R中将英尺转换为厘米?

    我得到了一个高度的字符向量 如下所示 859 5 10 5 8 5 11 6 0 5 10 6 2 5 11 6 2 6 2 5 7 5 9 5 7 6 1 6 0 5 11 6 0 6 5 6 1 6 1 5 10 5 11 5 11 6
  • 行方向变异的有效方法

    我有两个数据框 dfUsers and purchases使用以下代码生成 set seed 1 library data table dfUsers lt data table user letters 1 5 startDate sam
  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • 按组复制数据框

    我有以下数据框 df structure list Group c 1 1 1 1 2 2 2 2 2 2 3 3 3 index c 1 2 3 4 1 2 3 4 5 6 1 2 3 row names c NA 13L class c
  • 如何将数据从长格式重塑为宽格式

    我在重新排列以下数据框时遇到问题 set seed 45 dat1 lt data frame name rep c firstName secondName each 4 numbers rep 1 4 2 value rnorm 8 d
  • Shiny :针对所有错误显示一条消息

    我在 R 的 Shiny 中有一个应用程序 我想处理消息 以便用户看不到发生了什么错误 我知道通过 tags style type text css shiny output error visibility hidden shiny ou
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • 在列标题和配对变量中嵌入数据的数据透视表

    假设我有这样的数据 不幸的是 变量值嵌入在列名称中 library tidyr library dplyr dat lt tribble group var1 var meta1 var2 var meta2 group1 5 2 cat
  • ggplot2 + 使用比例 X 的日期结构

    我真的需要帮助 因为我已经迷路了 我正在尝试创建一个折线图 显示几个团队一年来的表现 我将一年分为几个季度 2012 年 1 月 1 日 2012 年 4 月 1 日 2012 年 8 月 1 日 12 1 12 并将 csv 数据帧加载到

随机推荐

  • 强制 free() 将 malloc 内存返回给操作系统

    似乎即使在我释放了由 分配的 Linux 进程的所有内存之后malloc 内存仍为进程保留 不会返回给操作系统 Running valgrind massif默认情况下 工具不会显示任何泄漏 Running valgrind with pa
  • 如何在 xamarin iOS 中使用 AVPlayerViewController (AVKit) 播放视频

    如何在xamarin iOS中使用AVPlayerLayer和AVPlayerViewControler播放视频 playerItem new AVPlayerItem new NSUrl https clips vorwaerts gmb
  • 对 Javascript 代码进行反混淆处理,使其再次可读[重复]

    这个问题在这里已经有答案了 我讨厌把这个带到这里 在学习混淆 JS 代码的同时 我对代码进行了编码 然后在没有任何备份的情况下重写了原始代码 以下是我的混淆代码 var 0xf17f x28 x29 x64 x69 x76 x63 x72
  • 如何在 R 中导出 HTML 表格并控制线条边框?

    R 中是否有任何函数允许将 HTML 表格导出为 R Markdown 或相关编织文档的一部分 并允许对表格行边框进行详细控制 例如 想象一个这样的矩阵 x lt matrix c M F Good 23 17 Bad 23 4 nrow
  • 将矢量资源导入 Android Studio 时出错

    我在 Illustrator 中创建了一个简单的播放按钮图像 将其保存为 SVG 使用在线 SVG to Drawable 转换器创建该文件的 xml 然后尝试使用 Android Studio 的 Vector Asset 工具将该文件导
  • jQuery DataTables - 子行和“未定义不是函数”

    我正在努力将子行添加到数据表中 但对于在不同表和页面上完美运行的一行代码 出现 类型错误 未定义不是函数 有任何想法吗 HTML div class table responsive h2 class sub header Account
  • 限制滚动和缩放 Google Maps Android API v2

    我已经添加地面叠加层映射并希望限制该区域内的滚动和缩放 如何限制 Android 谷歌地图上的某些范围内的滚动 是否可以从 MapFragment 获取即时运动点 请帮我 约束相机 终于 作为一项功能添加到了发布的版本中谷歌播放服务 9 4
  • Sublime Text 3 sftp插件代理设置

    我已经为 Sublime Text 3 安装了 sftp 插件 是否可以使用代理配置 sftp 我正在寻找任何代理设置 有人知道这件事吗 Use ProxyCommand inside sftp flags 这样的事情对我有用 Destin
  • android NDK可以编译内核模块源吗?

    我想为 android 制作一个动态加载的内核模块 我不想安装linux 我只有cygwin和android NDK 是的 可以使用 NDK 构建内核模块 请注意 这在 Linux 系统上效果最好 据我所知 Linux x86 64 是受支
  • 如何在Scheme中计算一个数的各位数字之和?

    我想计算Scheme中一个数字的数字之和 它应该像这样工作 gt sum of digits 123 6 我的想法是改变数字123串起来 123 然后将其转换为列表 1 2 3 然后使用 apply 1 2 3 to get 6 但不幸的是
  • 在 PHP 中从 MySQL 中提取 BLOB 图像数据

    我正在阅读一些关于如何将图像作为二进制上传到数据库而不是将它们放在服务器本身上的教程 我让它像这样工作 PHP image chunk split base64 encode file get contents tmpfile mysql
  • 批评我的堆调试器

    我编写了以下堆调试器 以演示内存泄漏 双重删除和错误形式的删除 即尝试使用以下命令删除数组 delete p代替delete p 给初级程序员 我很想从强大的 C 程序员那里得到一些反馈 因为我以前从未这样做过 而且我确信我犯过一些愚蠢的错
  • 当启用 Visual-line-mode 时,如何使用 hl-line-mode 仅突出显示一 (1) 行

    有没有人有替代方案或修改方案hl line mode这样只有一 1 条水平线才会突出显示visual line mode已启用 目前 整条自动换行的行都会突出显示 即使它可能跨越几条水平线 我正在使用 Emacs Trunk 的最新版本 您
  • JavaScript Promise 是异步的吗?

    只是一个简单的澄清问题 JavaScript 是Promise异步 我读了很多关于Promise和异步编程 即ajax请求 如果Promise不是异步的 我们如何做到这一点 例如 我有一个函数来包装一个函数f带参数数组args里面一个Pro
  • 具有 DateTimeField 和 timedelta 默认值的 Django 迁移

    我在设置默认值时遇到问题datetime在我的 Django 模型之一上 from django db import models from django utils import timezone class MyModel models
  • System.Drawing 的撤消按钮?

    我正在制作一个图像编辑器 有点为了自己的享受 并且想知道如何制作一个撤消按钮来撤消我上次所做的绘画 我想知道我会如何处理这个问题 教程或示例代码会很好 或者至少能指引我正确的方向 Thanks 呵呵 撤消实际上并不像听起来那么难 这里的神奇
  • 比较双精度数返回 false

    我的数据库中有三个数字 想要在 if 语句中比较它们 我有一个简单的 convert 函数 仅返回双精度数 Public Function RetDbl ByVal obj As Variant As Double On Error Res
  • 设置在 Foreach 循环中默认选中的 RadioButtonFor()

    我有一个奇怪的行为使用 Html RadioButtonFor扩展方法 我正在使用 foreach 循环创建 RadioButton 和 By 三元运算符的列表 我试图将尊重条件的人设置为检查 但它总是最后一个被检查的人 我搜索了类似的问题
  • 如何创建类似于 Twitter 应用程序位置切换按钮的切换按钮?

    我应该使用什么自定义按钮 可以左右滑动 例如 Android 的 Twitter 应用程序上的打开 关闭位置按钮 如下图所示 还有创建此类按钮的任何链接或指南 Thanks 使用一个简单的切换按钮结合一个可绘制状态列表设置为其背景 的一个样
  • 如何在R包RecordLinkage中使用compare.linkage——意外的输出

    我正在使用R包RecordLinkage中的compare linkage函数 得到的结果我知道是错误的 所以我知道我误解了一些东西 我正在使用适用于 x64 Windows 的 R 3 2 3 我对 Stata 非常熟悉 但对 R 不太熟