data.table merge() 与 NA 按列

2024-01-10

我正在尝试连接两个表,其中连接的列具有一些 NA 值,这样当遇到 NA 时,记录就会用 NA 填充,即

Given:

> x = data.table(c(1,2,3,NA,5), c("a","b","c","d","e"))
> x
   V1 V2
1:  1  a
2:  2  b
3:  3  c
4: NA  d
5:  5  e

> y = data.table(c(NA,2,3,4,5), c("A","B","C","D","E"))
> y
   V1 V2
1: NA  A
2:  2  B
3:  3  C
4:  4  D
5:  5  E

我希望我的输出是:

> z = data.table(c(NA,NA,1,2,3,4,5),c("d",NA,"a","b","c",NA,"e"),c(NA,"A",NA,"B","C","D","E"))
> z
   V1 V2 V3
1: NA  d NA
2: NA NA  A
3:  1  a NA
4:  2  b  B
5:  3  c  C
6:  4 NA  D
7:  5  e  E

我想merge()可以用来做到这一点。但我无法让它产生我期望的输出:

> merge(x,y, by=c("V1"), all=TRUE)
   V1 V2.x V2.y
1: NA    d    A
2:  1    a   NA
3:  2    b    B
4:  3    c    C
5:  4   NA    D
6:  5    e    E 

我真的不喜欢它根据 NA 值进行合并,就好像它是匹配一样,当我在具有多个 NA 的较大表中执行此操作时,它似乎会迭代给定的 V1 和 V2 的列值的所有可能组合NA 键。任何帮助,将不胜感激。


数据帧方法merge has a incomparables- 论证,其中数据表 /questions/tagged/data.table的版本merge没有。

因此,使用数据框方法:

merge.data.frame(x, y, by = "V1", all = TRUE, incomparables = NA)

给出了预期的结果:

  V1 V2.x V2.y
1  1    a <NA>
2  2    b    B
3  3    c    C
4  4 <NA>    D
5  5    e    E
6 NA    d <NA>
7 NA <NA>    A

NOTE: According to this GitHub-issue https://github.com/Rdatatable/data.table/issues/2587, the data.table /questions/tagged/data.table developers are planning to include an incomparables-argument in merge.data.table in the future.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

data.table merge() 与 NA 按列 的相关文章

  • 在 R 的替换命令中取消引用字符串

    我想知道是否可以unquote通过替换命令传递给表达式的字符串 具体来说 我使用 dplyr 从数据框中过滤和选择 gt w subject sex response 1 1 M 19 08 2 2 M 16 46 6 6 M 23 60
  • RMySQL fetch - 找不到继承的方法

    使用 RMySQL 我想将数据从数据库加载到 R 中的数据帧中 为此 我使用以下代码 R连接数据库 con lt dbConnect MySQL user root password password dbname prediction h
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 连接树状图和热图

    我有一个heatmap 一组样本的基因表达 set seed 10 mat lt matrix rnorm 24 10 mean 1 sd 2 nrow 24 ncol 10 dimnames list paste g 1 24 sep p
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • ggplot2 中的中心图标题

    这个简单的代码 以及今天早上我的所有脚本 已经开始在 ggplot2 中给我一个偏离中心的标题 Ubuntu version 16 04 R studio version Version 0 99 896 R version 3 3 2 G
  • 使用 data.table 左连接

    假设我有两个数据表 s dataA A B 1 1 12 2 2 13 3 3 14 4 4 15 dataB A B 1 2 13 2 3 14 我有以下代码 merge test merge dataA dataB by A all d
  • 如何使用 Facet R 添加线条[重复]

    这个问题在这里已经有答案了 所以我有一个多面图 我希望能够向其中添加随每个面而变化的线 这是代码 p lt ggplot mtcars aes x wt geom histogram bins 20 aes fill factor cyl
  • R中data.frame(列表)的列平均值

    Data https i stack imgur com ZYsmv jpg 请 我需要计算此 data frame 中维吉尼亚币 Sepal Length 列的平均值 Sepal Length Sepal Width Petal Leng
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s
  • 如何在R中安装pivot_long()和pivot_wide()

    如果您想尝试这些新功能 pivot wide and pivot long 需要安装开发版tidyr devtools install github tidyverse tidyr 但我还没有实现它 我安装了一系列库 除了一个之外 vctr
  • R xts 对象中从每日时间序列到每周时间序列

    我正在使用 Zoo 和 xts 包来分析财务数据 ts 包不太合适 因为金融系列有周末 没有可用数据 我读到了 xts 包中可用的 apply 函数 apply daily x FUN apply weekly x FUN apply mo
  • R 子集 XTS 工作日

    如何对 xts 对象进行子集化以仅包含工作日 周一至周五 周六和周日除外 这就是我要做的 library xts data sample matrix sample xts lt as xts sample matrix descr my
  • xtable 中的 Cox 回归输出 - 选择行/列并添加置信区间

    我不想将 cox 回归的输出导出到一个表中 然后将其放入我的文章中 我想最好的方法是使用 xtable library survival data pbc fit pbc lt coxph Surv time status 2 age ed
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • “x[] <- as.integer(x)”是什么意思

    当我阅读 R 手册时 我遇到了如下代码行 从 R 手册中的 colSums 复制 x lt cbind x1 3 x2 c 4 1 2 5 dimnames x 1 lt letters 1 8 x lt as integer x 有人能告
  • R 中的 aov() 错误术语:bw Error(id) 和 Error(id/timevar) 规范有什么区别?

    两者有什么区别aov depvar timevar Error id 和aov depvar timevar Error id timevar 配方规格 这两种变体产生略有不同的结果 同样的问题曾经在这里被问过 https stats st
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1

随机推荐

  • Heroku Repo 大小和 Slug 大小随着每次部署而增加。为什么?

    我更改了应用程序中的一些文本并使用以下命令部署新版本 git push heroku master 但每次我推动时 它都会增加很多 我在这里写下每次部署后的增量 168 2 KB 37 9 MB 178 6 KB 38 7 MB 187 K
  • 如何检查哪些优惠券适用于 WooCommerce 中的哪些产品?

    由于我们可以为订单中的每个产品应用不同的优惠券 有什么方法可以知道哪些优惠券适用于哪些产品 我用过 order gt get used coupons 函数 但它只返回使用过的优惠券代码 请帮忙解决 谢谢 2016 年 6 月为 Wooco
  • Python中有标签/goto吗?

    有没有goto或者 Python 中的任何等效项能够跳转到特定的代码行 不 Python 不支持标签和 goto 它是一种 高度 结构化的编程语言
  • 如何使用 OkHttp/Retrofit 重试 HTTP 请求?

    我在我的 Android 项目中使用 Retrofit OkHttp 1 6 我没有找到任何内置的请求重试机制 在搜索更多内容时 我读到 OkHttp 似乎有静默重试 我没有看到我的任何连接 HTTP 或 HTTPS 上发生这种情况 如何使
  • 如何使水平ScrollView的内容水平居中?

    我有一个水平 ScrollView 其中有一个 HStack 如下所示 ScrollView horizontal HStack Circle frame width 60 height 60 使用此代码 HStack 的内容与屏幕左侧对齐
  • 使用 preg_match 从字符串中获取数字[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个字符串 div 我只想使用此
  • Xstream 映射 XML 的“选择”元素

    我需要使用 XStream 将受 XSD 约束的 XML 映射到 Java 对象 XSD 有 4 个复杂类型元素 它们是 选择 元素 即这 4 个元素之一可以出现在根标记下的 XML 中 我一直在研究 XStream 但在我看来 要映射这样
  • Eclipse - 动态 Web 项目未拾取 jsp 中的更改或

    我正在使用 运行方式 gt 在服务器上运行 在本地 tomcat 实例上运行我的 Web 项目 问题是 当我对 JSP 和其他项目组件进行更改时 Eclipse 有时会选择此更改 有时则不会 看起来有点随机 这可能是由于多种原因造成的 在不
  • 如何将视图叠加到 CVImageBuffer 内的每个捕获的帧上,实时而不是后期处理

    我已经成功设置了一个基本的AVCaptureSession它通过使用录制视频并将其保存在设备上AVCaptureFileOutputRecordingDelegate 我一直在搜索文档以了解如何在正在录制的视频之上添加统计信息叠加 i e
  • HTTP 请求之间具有持久状态的模型

    我想创建一个具有在 HTTP 请求之间持续存在的模型的 Web 应用程序 据我了解 像 PHP 这样的语言将每个 HTTP 请求视为一个全新的连接 除了一些全局变量 如 SESSION 因此 每次用户更改页面时 我的所有 PHP 类都会再次
  • 来自 TeamCity 的 MSBuild 的 /P MSDeploy 参数的完整列表

    我目前使用 TeamCity 中的 MSBuild 运行程序在本地服务器上进行持续集成 效果非常好 但是 我无法以 TeamCity 期望的格式找到 MSDeploy 支持的命令行开关的完整列表 目前 在我的 参数 部分中 我使用以下开关
  • 语法错误:错误:无法加载配置“@vue/prettier”以扩展

    I am working on a project with vuejs add vuetify I install dhe plugin prettier after that I made configure in file packa
  • 错误:AADSTS90015:请求的查询字符串太长(在执行 ADFS 时)

    我正在进行 ADFS 身份验证 当我单击Sign In从 Microsoft Teams 按钮 我将被重定向到我的 URL 页面重定向后出现以下错误 AADSTS90015 请求的查询字符串太长 我尝试过以下解决方案 HTTP 错误 414
  • 调试多个 iOS 设备时 XCode 5 崩溃 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 最近 我使用 XCode 4 为 iOS 网络项目同时调试了多达 4 个设备 今天更新到 XCode 5 以便能够构建 iOS7 设备 我
  • Python(和 Flask)中的非消息队列/简单长轮询

    我正在寻找一种简单的 即不需要我设置单独的服务器来处理消息队列的方法 来对运行计算并生成图形的小型 Web 界面进行长轮询 这就是我的网络界面需要做的事情 用户在网络界面中请求图表 数据 服务器运行一些计算 当服务器运行计算时 一个小容器会
  • 如何为所有unittest.TestCase类执行tearDown和setUp方法

    我有一个类 BaseTest 所有测试都是从它扩展的 测试位于不同的模块和包中 setUpClass 和tearDownClass 方法在每个unittest TestCase 类之前执行 我怎样才能只执行一次setUp和tearDown
  • Angular 2 Material 中的粘性页脚

    我现在已经搜索了大约3个小时 因为我不想问 但是我怎样才能在底部保留一个 页脚 变量 而不是像固定在底部一样 所以如果我的内容是非常小 它不会只位于页面的中间 但如果我有很多信息 它不会锁定在页面底部并在滚动时坐在数据上 我尝试了多种方法
  • 使用 PCRE 支持重建 uwsgi

    运行 uwsgi 时 我收到以下消息 no internal routing support rebuild with pcre support 我已经使用以下命令安装了 PCRE 我认为 sudo apt get install libp
  • C -- 打印到屏幕而不使用 #include ? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有没有办法有一个C源文件打印到屏幕上
  • data.table merge() 与 NA 按列

    我正在尝试连接两个表 其中连接的列具有一些 NA 值 这样当遇到 NA 时 记录就会用 NA 填充 即 Given gt x data table c 1 2 3 NA 5 c a b c d e gt x V1 V2 1 1 a 2 2