R 中的“不加入”

2024-01-12

我正在寻找一种快速的方法来“不加入”(即保留未合并的行,或内部联接的逆)。我一直在做的方法是使用 data.table 作为 X 和 Y,然后设置键。例如:

require(data.table)

X <- data.table(category = c('A','B','C','D'), val1 = c(0.2,0.3,0.8,0.7))
Y <- data.table(category = c('B','C','D','E'), val2 = c(2,3,5,7))
XY <- merge(X,Y,by='category')

> XY
   category val1 val2
1:        B  0.3    2
2:        C  0.8    3
3:        D  0.7    5

但我需要与此相反,所以我必须这样做:

XY_All <- merge(X,Y,by='category',all=TRUE)
setkey(XY,category)
setkey(XY_All,category)
notXY <- XY_All[!XY]    #data.table not join (finally)

> notXY
   category val1 val2
1:        A  0.2   NA
2:        E   NA    7

我觉得这很冗长(尤其是来自 data.frame )。我错过了什么吗?

编辑:我在更多地考虑不加入后得到了这个

X <- data.table(category = c('A','B','C','D'), val1 = c(0.2,0.3,0.8,0.7),key = "category")
Y <- data.table(category = c('B','C','D','E'), val2 = c(2,3,5,7), key = "category")
notXY <- merge(X[!Y],Y[!X],all=TRUE)

但WheresTheAnyKey 下面的答案更清楚。最后一个障碍是预设 data.table 键,如果不必这样做就好了。

编辑:为了澄清,接受的解决方案是:

merge(anti_join(X, Y, by = 'category'),anti_join(Y, X, by = 'category'), by = 'category', all = TRUE)

require(dplyr)
bind_rows(anti_join(X, Y), anti_join(Y, X))

编辑: 由于有人要求解释,所以发生了以下情况:

首先anti_join()函数返回行来自X中没有匹配的行Y匹配由加入的内容决定。第二个则相反。bind_rows()只是获取其输入的结果并将它们变成一个单一的tbl使用每个输入的所有观察值,将缺失的变量数据替换为NA.

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

R 中的“不加入” 的相关文章

  • 指定 R 中 hist() 中的 bin 数量?

    我尝试指定垃圾箱的数量hist R为10 如下 gt hist x breaks 10 但垃圾箱的数量并不完全是 10 我尝试了几个其他数量的垃圾箱 结果发生了同样的情况 hist says breaks可以指定 给出直方图单元格数量的单个
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 在 mac (iMac OSX ) 终端中远程运行脚本(r 脚本)到其他计算机

    我有一个小示例脚本 script p r 如下所示 打算在终端中运行 usr bin Rscript sink output capture txt mn lt mean 1 10 and so on much longer list of
  • 如何在颠覆合并期间忽略文件夹

    我有一大堆更改需要合并到我的分支中 但我想在合并过程中忽略特定文件夹 是否可以使用 Subversion 来做到这一点 如果是这样那我该怎么办呢 编辑 我想忽略的文件夹位于存储库中 但在合并期间我不会对此文件夹进行更改 您可以像平常一样进行
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • C# 优化:向数据库插入 2 亿行

    我有以下 简化的 代码 我想优化速度 long inputLen 50000000 50 million DataTable dataTable new DataTable DataRow dataRow object objectRow
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • R 中的发散积分可在 Wolfram 中求解

    我知道我以前问过同样的问题 但由于我是新来的 这个问题问得不好而且不可重现 因此我在这里尝试做得更好 如果我只编辑旧的 可能没有人会读它 我有一个想要积分的二重积分 ff lt function g t exp 16 g exp 8 t t
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 逻辑回归/二项式的 glmnet 误差

    当尝试将 glmnet 与 family binomial 配合以进行逻辑回归拟合时 出现此错误 gt data lt read csv DAFMM HE16 matrix csv header F gt x lt as data fram
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 带 R 的多彩标题

    我想添加颜色某些词在我的图表标题中 我已经能够在这里找到一些先例 http blog revolutionanalytics com 2009 01 multicolor text in r html 具体来说 我希望用撇号括起来的文本 在
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 如何在 LaTeX 中对段落进行编号?

    给出一堆段落 Para A Para B Para C 如何让 LaTeX 自动对它们进行编号 即 1 Para A 2 Para B 3 Para C 我看过以下建议 newcounter parnum newcommand N noin
  • python 日志文件中的“无”

    我正在使用loggingpython 中的模块 当我在命令行上使用错误的参数调用脚本时 日志文件在某些 时候包含单个单词 None 我不知道它来自哪里 这是我的代码切割 我在其中执行logging exception Show script
  • 有时不会调用 UISplitViewControllerDelegate 中的 willHideViewController

    我有个问题 我的应用程序是一个选项卡栏控制器 它的第一个视图控制器是一个分割视图控制器 这对苹果来说似乎不太好 因为文件说分割的 voew 控制器必须是根 所以也许这就是我的问题的原因 问题是 有时 不会调用 UISplitViewCont
  • 如何在 Kendo 网格中自动启用或禁用滚动条?

    这是我创建网格的代码 if Model GenericEntityList Count gt 0 Html Kendo Grid Model GenericEntityList Name screenNames ToString Colum
  • python 中 select 的 CPU 使用率达到 100%

    我在 python 中的 select 有问题 我有一段代码允许客户端从服务器接收数据 并通过在 stdin 上读取并在服务器套接字上写入来发送数据 readfds s sys stdin writefds s sys stdout my
  • 了解 JMH 输出

    因此 我对几种方法运行了 JMH 基准测试 并得到了如下响应 我无法理解到底是什么Score and Error值表示 有相同的参考文档吗 举个例子 ss stream带参数n 100000花了约 平均运行 30 次迭代需要 1 363 微
  • 如果将 UIView 添加为子视图,则 UIButton 目标不起作用

    我有一个UIButton 它有两个子视图 然后我打电话 createButton addTarget self action selector openComposer forControlEvents UIControlEventTouc
  • Java 重新排序会影响 System.currentTimeMillis() 吗?

    根据Java内存模型 指令可以重新排序 只要执行格式良好的 http docs oracle com javase specs jls se7 html jls 17 html jls 17 4 7 所以我想知道 以下代码是否可能产生以下输
  • Spark聚合函数——aggregateByKey是如何工作的?

    假设我有一个分布在 3 个节点上的系统 并且我的数据分布在这些节点之间 例如 我有一个 test csv 文件 该文件存在于所有 3 个节点上 并且包含 2 列 row id c row1 k1 c1 row2 k1 c2 row3 k1
  • 具有 DataBinding 的 RecyclerView 通用适配器

    我使用 DataBinding 为 RecyclerView 创建了通用适配器 这是小代码片段 public class RecyclerAdapter
  • 如何禁用 Jupyter Notebook(Tab) 中的自动完成功能

    I typed Summary outside the cell and change the config of Jupyter notebook When I press Tab the autocomplete menu pop ou
  • 如何根据点计算角度?

    我想要一个简单的解决方案来计算一条线的角度 就像时钟的指针 我有2点 cX cY the center of the line eX eY the end of the line The result is angle 0 lt a lt
  • 字典作为线程安全变量

    我有一个类 单例 它包含一个静态字典 private static Dictionary
  • 使用 Web 套接字在浏览器中创建图形

    我正在尝试寻找可以在网络浏览器中创建条形图的示例或工具 我将通过网络套接字从服务器发送数据 当接收到数据时 我希望每个条形的 高度 发生变化 以反映接收到的数据 因此 用户可以看到图表随着数据的接收而变化 我见过很多例子 但我看不到一个能够
  • 哪个 Actor 模型库/框架适用于 python 和 Erlang 类? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个易于学习的 Python 2 x Actor 库或框架 我尝试过 Candygram 和
  • 从 SSJS xPages 调用 jar 的类

    我想问一个关于在 xPages 上的 SSJS 服务器端 JavaScript 中使用 Java 类的问题 我创建了一个简单的 Java 类 HelloWorld 并将其导出到 jar 文件 然后我尝试在 xPage 上从 SSJS 调用它
  • React Native for iOS 中宽度、高度、填充等的默认单位是什么?

    我正在为 iOS 构建一个 React Native 应用程序 Facebook 文档说宽度 高度 填充 边距等需要一个数字 我想知道样式的默认单位是什么
  • 在 PHP 中高效地逐行读取大文件?

    我的应用程序读取一个 5MB 10MB 的大文件 该文件已使用 json 条目逐行输入 每一行都由一个解析器处理 该解析器被馈送到多个解析器并单独处理 一旦文件被读取 文件就会被移动 该程序不断地输入要处理的文件 该计划目前与 file g
  • IE7 仅忽略来自生产服务器的页面上的 CSS 属性选择器

    在我的网站上 IE7 似乎忽略了某些 CSS 属性选择器 奇怪的是 只有当页面来自生产服务器时才会发生这种情况 如果我有完全相同的代码在我的个人服务器上 或者保存在我的硬盘上 它工作得很好 这是导致该问题的示例
  • R 中的“不加入”

    我正在寻找一种快速的方法来 不加入 即保留未合并的行 或内部联接的逆 我一直在做的方法是使用 data table 作为 X 和 Y 然后设置键 例如 require data table X lt data table category