从多个数据帧中提取公共行的子集

2024-04-24

我有多个数据框,如下所述,每行都有唯一的 id。我试图找到公共行并创建一个至少出现在两个数据框中的新数据框。

示例- Id=2 的行出现在所有三个数据框中。类似地,df1 和 df3 中存在 Id= 3 的行。

我想创建一个循环,可以找到公共行并创建一个包含公共行的新数据框。

df1 <- data.frame(Id=c(1,2,3,4),a=c(0,1,0,2),b=c(1,0,1,0),c=c(0,0,4,0)) 
df2 <- data.frame(Id=c(7,2,5,9),a=c(4,1,9,2),b=c(1,0,1,5),c=c(3,0,7,0))
df3 <- data.frame(Id=c(5,3,2,6),a=c(9,0,1,5),b=c(1,1,0,0),c=c(7,4,0,0)) 

> df1                   > df2 
 Id | a | b | c |         Id | a | b | c |
 ---|---|---|---|         ---|---|---|---|                  
  1 | 0 | 1 | 0 |          7 | 4 | 1 | 3 |                           
 ---|---|---|---|         ---|---|---|---|                  
  2 | 1 | 0 | 0 |          2 | 1 | 0 | 0 |
 ---|---|---|---|         ---|---|---|---|
  3 | 0 | 1 | 4 |          5 | 9 | 1 | 7 |
 ---|---|---|---|         ---|---|---|---|
  4 | 2 | 0 | 0 |          9 | 2 | 5 | 0 |

 > df3
 Id | a | b | c |
 ---|---|---|---|
  5 | 9 | 1 | 7 |
 ---|---|---|---|
  3 | 0 | 1 | 4 |
 ---|---|---|---|
  2 | 1 | 0 | 0 |
 ---|---|---|---|
  6 | 5 | 0 | 0 |

> expected_output
 Id | a | b | c |
 ---|---|---|---|
  5 | 9 | 1 | 7 |
 ---|---|---|---|
  3 | 0 | 1 | 4 |
 ---|---|---|---|
  2 | 1 | 0 | 0 |
 ---|---|---|---|

注意:- ID 是唯一的。 另外,我想从原始数据框中删除重复的行,并且我使用它来创建新的数据框。


我有多个数据框,如下所述,每行都有唯一的 id。我试图找到公共行并创建一个至少出现在两个数据框中的新数据框。

由于同一个表中没有 ID 出现两次,因此我们可以将 ID 制成表格并保留找到的两次:

library(data.table)

DTs = lapply(list(df1,df2,df3), data.table)

Id_keep = rbindlist(lapply(DTs, `[`, j = "Id"))[, .N, by=Id][N >= 2L, Id]

DT_keep = Reduce(funion, DTs)[Id %in% Id_keep]

#    Id a b c
# 1:  2 1 0 0
# 2:  3 0 1 4
# 3:  5 9 1 7

您的数据应该位于类似的对象中DTs首先,不是一堆单独的命名对象。

怎么运行的

要了解它是如何工作的,请检查中间对象,例如

  • list(df1,df2,df3)
  • lapply(DTs, `[`, j = "Id")
  • Reduce(funion, DTs)

另外,请阅读帮助文件,例如?lapply, ?rbindlist, ?funion.

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

从多个数据帧中提取公共行的子集 的相关文章

  • 尝试将 XLSX 数据导入 R 时出现 IllegalArgumentException

    在将 xlsx 文件导入 R 时 我遇到了以下错误 mydata lt read xlsx C Users aniruddha Downloads failingExample xlsx 1 Error in jcall row ir Lo
  • R中的Score Sentiment函数,始终返回0

    我对分数有一个 可能 愚蠢的问题 情绪 我尝试将此函数与 3 个默认短语一起使用 问题是该函数返回分数 0 0 0 但它应该返回 2 5 4 我不明白这个问题 因为 RGui 不会给我错误 而且我正在遵循教程 我已经下载了否定词和肯定词的列
  • ggplot geom_hline 中无法识别数据列

    我想知道为什么变量mean y不被我识别geom hline yintercept unique mean y call library tidyverse set seed 20 n groups lt 2 n in group lt 2
  • R 对等证书无法使用给定的 CA 证书进行身份验证,Windows

    当尝试使用导入谷歌工作表时gs read 函数 我收到以下错误消息 在curl curl fetch memory url handle handle 中出错 对等 无法使用给定的 CA 证书对证书进行身份验证 我正在关注这个vignett
  • 关于使用outer()和用户定义函数的简单问题?

    gt fun1 lt function x y x y gt outer seq 1 5 length 5 seq 6 10 length 5 fun1 1 2 3 4 5 1 7 8 9 10 11 2 8 9 10 11 12 3 9
  • R ggplot2:stat_count() 不得与条形图中的 y 美学错误一起使用

    我在绘制条形图时遇到此错误 并且无法摆脱它 我已经尝试了 qplot 和 ggplot 但仍然出现相同的错误 以下是我的代码 library dplyr library ggplot2 Investigate data further to
  • fread 的填充选项

    假设我有这个 txt 文件 AA 3 3 3 3 CC ad 2 2 2 2 2 ZZ 2 AA 3 3 3 3 CC ad 2 2 2 2 2 With read csv I can gt read csv linktofile txt
  • ggplot 中的 Geom_area 顺序

    我的样本队列数据在绘制时未进行颜色编码或按正确的时间顺序显示ggplot 以下代码用于生成绘图 library ggplot2 blues lt colorRampPalette c lightblue darkblue p lt ggpl
  • 使用鼠标功能时出错:没有什么可以估算的

    我尝试将 NA 数据填充到数据框中 我做了简单的数据 library mice first lt c 1 2 3 4 5 NA 7 8 9 NA second lt c 1 2 NA 4 5 6 7 NA 9 10 sample data
  • R/ggplot2:在执行 ylim 上限的同时平滑整个数据集

    更新 我找到了答案 包含在下面 我有一个包含以下变量和类似值的数据集 COBSDATE CITY RESPONSE TIME 2011 11 23 A 1 1 2011 11 23 A 1 5 2011 11 23 A 1 2 2011 1
  • rmarkdown:pandoc:找不到 pdflatex

    当我在 Mac 上使用 render rmarkdown 从 Rmd 文件生成 pdf 文件时 出现错误消息 pandoc pdflatex not found pdflatex is needed for pdf output Error
  • 将复数名词转换为单数名词

    如何使用 R 将复数名词转换为单数名词 我使用 tagPOS 函数来标记每个文本 然后提取所有标记为 NNS 的复数名词 但是如果我想将这些复数名词转换为单数该怎么办 library openNLP library tm acq o lt
  • R data.table %like% 带有逻辑 AND

    我正在尝试构建一个闪亮的搜索引擎应用程序 我根据搜索关键字返回 data table DT lt data table field c A B C A C D A D A B A D B C F B D K DT field like A
  • 在 Linux 集群上安装 R `forecast` 包:编译器问题?

    我正在寻找测试性能R 更具体地说是一些例程forecast封装在具有 Intel Xeon Phi 协处理器的 HPC 集群上 据我所知 系统管理员已经建立了R 3 2 5按照英特尔网站上的说明从来源获取 https software in
  • 非常大的数据集的余弦相似度

    我在计算大量 100 维向量之间的余弦相似度时遇到问题 当我使用from sklearn metrics pairwise import cosine similarity I get MemoryError在我的 16 GB 机器上 每个
  • R中向后历史搜索

    通常在我的机器中 我可以通过键入我想要向后搜索的命令的所需第一个字符来向后搜索 R 的历史记录 然后使用 PageUp 或 PageDown 键浏览 R 历史记录中的所有条目 我现在在远程集群中以访客身份工作 此选项在本机上不可用 有谁知道
  • 在 R 中使用 NA 计算栅格数据的变异函数

    Summary 我有一个包含 NA 值的栅格数据集 并且想要计算它的变异函数 忽略 NA 我怎样才能做到这一点 我有一个图像 已使用以下命令加载到 R 中readGDAL函数 存储为im 为了使其可重复 结果dput图像上可在https g
  • 在 R 中连接/匹配数据帧

    我有两个数据框 第一列有两列 x是水深 y是每个深度的温度 第二个也有两列 x也是水深 但与第一个表中的深度不同 第二栏z是盐度 我想通过以下方式连接两个表x 通过增加z到第一张桌子 我已经学会了如何使用 key 来连接表tidyr 但只有
  • Density2d 使用另一个变量进行填充(类似于 geom_tile)?

    我正在尝试为我的最终项目绘制地图 并且正在尝试使用 BLock 绘制美国的犯罪热图 对于每个街区 我都有纬度 经度和犯罪率预测 它遵循以下结构 Lat Lon Prediction 76 0 40 0 125 76 120 40 5 145
  • 如何使用 pandas groupby 函数根据 groupby 值应用公式

    我的问题可能有点令人困惑 所以让我解释一下 我有一个信息数据框 我想按唯一订单 ID 对其进行分组 该 ID 将生成以下列 sum qty 每个订单 ID 执行的总金额 csv 这是每个订单 ID 的 csv 列的总和除以订单 ID 的已执

随机推荐

  • jquery如何选择所有以“text-”开头的类元素?

    我有一些课程 text 1 text 2 text 3 我想全部选择 该怎么做 谢谢您的帮助 尝试这个 欲了解更多详情 请参阅jquery selectors http api jquery com attribute starts wit
  • 如何在反向代理后面正确设置 JSESSIONID cookie 路径

    我的网络应用程序正在 Tomcat 中运行http localhost 8080 example com 但它是从 Apache 提供的反向代理http example com 在端口 80 上 我的网络应用程序查看request getH
  • RGB 缓冲区到 JPEG 缓冲区,这里出了什么问题?

    我需要一种简单的方法将包含 RGB 数据的缓冲区转换为 jpeg 我已经尝试过使用 libjpeg 但我根本无法让它正常工作 例如 将缓冲区保存为位图时会产生以下结果 使用 libjpeg 在内存中对同一图像进行编码会产生以下结果 将图像直
  • Linux 消息队列 - 多个接收者

    我最近一直在研究和研究 Linux 消息队列 并遇到了一些我不太明白为什么会发生的事情 如果我们运行两个程序 它们都在无限 for 循环中使用 msgrcv 来检查消息 然后发送两条消息 那么第一个运行的程序将收到第一条消息 第二个程序将收
  • Javascript画布不重画?

    我正在开发一个游戏 基于画布 并且遇到了问题 显然 当我按下一个键时 画布并没有更新对象的 x 和 y 它什么也没做 变量本身正在更新 但屏幕上的对象没有更新 这是代码 var canvas document createElement c
  • fiddler2无法生成证书

    我正在使用 Fiddler2 或尝试 捕获访问 https Web 服务的 Windows 桌面小工具的 SSL 流量 它曾经可以工作 然后几天前就停止了 总是出现以下错误 Unable to Generate Certificate Cr
  • 从目录节点 Js 检索文件

    我正在使用 readDirSync 从目录中获取文件 请查找代码和错误如下 var fs require fs var files fs readdirSync application models for var i in files v
  • 将多页 PDF 转换为单个图像

    我必须将多页 PDF 文档转换为 png 图像 我尝试使用 ImageMagick 但无法获得最终结果 convert document pdf document png or convert adjoin document pdf doc
  • 将带有子存储库的 Mercurial 存储库迁移到 git 并保留历史记录的最佳方法?

    我正在尝试将 Mercurial 存储库迁移到 git 但问题是 Mercurial 存储库有子存储库 有些带有分支 以及大量合并和分支本身 我希望最终的 git 存储库能够保留所有这些历史记录 并且在检查存储库或其他分支的早期部分时保持正
  • Leaflet.label 未显示在标记上

    我有一组 geoJSON 点 它们附加了相应的标签 var points L geoJson null onEachFeature function feature layer layer options riseOnHover true
  • Windows 7 在“程序文件”中创建文件夹在 C# 代码中失败,即使我有管理员权限!

    我无法使用 VS 2008 WPF C 代码在 Windows 7 64 位计算机上的 程序文件 文件夹下创建文件 我在以下代码中遇到的错误 myFile File Create logFile 如下 这是innerException堆栈跟
  • 如何记录 IDE 的魔术(_call 和 _callStatic)方法

    在使用 notepad 和 sublime 编码多年之后 有人建议我尝试一下 PHP IDE 我正在尝试 phpStorm 它看起来不错 代码完成和文档是一个很棒的功能 但在使用魔术方法时对我来说不起作用 有没有办法让 phpStorm 了
  • JavaScript 中的空方括号?

    我在中遇到了这段代码https upmostly com tutorials setinterval in react components using hooks https upmostly com tutorials setinter
  • 如何使这个自定义工作表初始化更快?

    Summary 这个问题在某种程度上是这个问题的后续 如何从索引实现列自命名 https stackoverflow com questions 5160001 how to implement column self naming fro
  • 在 Haskell 中的列表末尾添加一个元素

    我是 Haskell 的初学者 我正在尝试在列表末尾添加一个元素 我输入一个像 1 2 3 4 这样的列表和一个数字 10 我想要一个像这样的输出 1 2 3 4 10 My code func a a func a x xs x func
  • 在 View 中使用 Zend_Acl 来显示/隐藏部分视图的方法是什么

    我想知道使用 Zend Acl 来显示 隐藏部分视图的方法是什么 我想我会的 创建一个Controller Plugin 传递登录用户 acl来查看 this gt view gt loggedInUser Zend Auth getIde
  • 随机数独生成

    我正在编写一个函数 该函数应该为模拟项目生成随机数独谜题 该函数将要生成的单元格数量作为参数 然后生成单元格索引和要放入这些单元格中的数字 我在生成单元格索引时遇到问题 我不是编程专家 我找不到一个好的例程来生成索引并检查是否两次或更多次是
  • HTTP 500 响应通过 RawXmlMessage.aspx 通过仪表板将 CCTray 连接到 CC.NET 服务器

    我正在使用 CC NET 1 6 服务器及其相应的 CCTray 通过远程处理轻松连接 但需要更改为通过 HTTP 使用仪表板连接 以便我可以开始将 URL 外包给开发人员 将我的仪表板 URL 放入 CCTray 中 http local
  • 有没有办法在 Shadow-DOM 中访问 CSS 中的 HTML 标签属性?

    我正在使用 StencilJS 创建一个自定义组件 当用户使用键盘或鼠标导航到该组件时 我必须对轮廓进行一些更改 我的组件正在使用 ShadowDOM 我想从 CSS 访问 HTML 标签属性 标签的属性是通过 What input 生成的
  • 从多个数据帧中提取公共行的子集

    我有多个数据框 如下所述 每行都有唯一的 id 我试图找到公共行并创建一个至少出现在两个数据框中的新数据框 示例 Id 2 的行出现在所有三个数据框中 类似地 df1 和 df3 中存在 Id 3 的行 我想创建一个循环 可以找到公共行并创