在 R 中合并具有缺失值的数据框

2023-12-07

获取数据帧的代码:

rat_all = structure(list(frequency = c(37L, 31L, 14L, 11L, 2L, 3L), isoforms = 8:13,      
    type = structure(c("rat_all", "rat_all", "rat_all", "rat_all",              
    "rat_all", "rat_all"), .Dim = c(6L, 1L))), .Names = c("frequency",          
"isoforms", "type"), row.names = 8:13, class = "data.frame")

rat_ensembl = structure(list(frequency = c(17L, 8L, 20L), isoforms = 8:10,                    
    type = structure(c("rat_ensembl", "rat_ensembl", "rat_ensembl"              
    ), .Dim = c(3L, 1L))), .Names = c("frequency", "isoforms",                  
"type"), row.names = 8:10, class = "data.frame") 

我有两个数据框:

  frequency isoforms        type                                               
8         17        8 rat_ensembl                                               
9          8        9 rat_ensembl                                               
10        20       10 rat_ensembl  

and

   frequency isoforms    type                                                   
8         37        8 rat_all                                                   
9         31        9 rat_all                                                   
10        14       10 rat_all                                                   
11        11       11 rat_all                                                   
12         2       12 rat_all                                                   
13         3       13 rat_all   

我想将这些合并到一个数据框中,但也包括缺失的isoforms出现在的条目rat_all数据框但不是rat_ensembl数据框。所以我希望输出是一个组合数据框,就像我绑定一样 两个数据框,但增加了:

11         0       11 rat_ensembl
12         0       12 rat_ensembl
13         0       13 rat_ensembl

我以为我可以通过合并来做到这一点,但最终我得到了一个巨大的混乱,我必须放松,我最终可以按摩成正确的格式,但这不是一个好的解决方案,如果 我想同时对四到五种不同的“类型”进行此操作。我缺少什么?谢谢!

需要明确的是,我希望获得一个最终的数据框,如下所示:

      frequency isoforms        type                                               
1         17        8 rat_ensembl                                               
2          8        9 rat_ensembl                                               
3         20       10 rat_ensembl                                                   
4         37        8 rat_all                                                   
5         31        9 rat_all                                                   
6         14       10 rat_all                                                   
7         11       11 rat_all                                                   
8          2       12 rat_all                                                   
9          3       13 rat_all   
10         0       11 rat_ensembl
11         0       12 rat_ensembl
12         0       13 rat_ensembl

如果我使用的话,我可以让它做我想做的事:

z = merge(rat_ensembl, rat_all, by.x="isoforms", by.y="isoforms", all.y=TRUE)
   isoforms frequency.x      type.x frequency.y  type.y                         
7         7          44 rat_ensembl          69 rat_all                         
8         8          17 rat_ensembl          37 rat_all                         
9         9           8 rat_ensembl          31 rat_all                         
10       10          20 rat_ensembl          14 rat_all                         
11       11          NA        <NA>          11 rat_all                         
12       12          NA        <NA>           2 rat_all                         
13       13          NA        <NA>           3 rat_all                         
14       14          NA        <NA>           1 rat_all            

然后,理论上我可以选择isoforms, frequency.x, type.x列和 修复它们,使它们对于每个都是正确的rat_ensembl and rat_all进而rbind那些 数据帧放在一起,但似乎应该有一些东西可以直接处理它。


也许你想要这样的东西

z <- merge(rat_ensembl, rat_all, all = TRUE)

iso_diff <- setdiff(rat_all$isoforms, rat_ensembl$isoforms)

augmented <- data.frame(frequency = 0, isoforms = iso_diff, type = "rat_ensembl", stringsAsFactors= FALSE)

df_all <- rbind(z, augmented)

希望有帮助。

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

在 R 中合并具有缺失值的数据框 的相关文章

随机推荐

  • file_exists 不适用于本地主机 URL

    我有这段 PHP 代码 if file exists POST current folder do something But file exists总是返回 false 传递给该函数的值是 echo POST current folder
  • 数据框中列表的 Pandas 平均值

    我有一个 pandas DataFrame 其中包含包含列表的列 我正在尝试获取本专栏中列表的含义 这是我的 DataFrame 的示例 Loc Background 0 115227854 0 000120481927711 1 1152
  • mysql C++ 中的连接崩溃

    目前 我已经实现了一个写入 mysql 数据库的程序 我也使用 Xcode 和 c 我已正确导入所有库 但在这一行收到 BAD EXCESS 错误消息 con driver gt connect tcp 127 0 0 1 3306 roo
  • 用Java解析JSON数据

    我想解析此页面中的一些数据 http www bbc co uk radio1 programmes schedules england 2013 03 1 json 我想要解析的数据是标题 但我不确定如何提取数据 这是我到目前为止所做的
  • Apache Spark 中的数据集

    Dataset
  • 如何隐藏 Firefox 窗口(Selenium WebDriver)?

    当我同时执行多个测试时 我不想让 Firefox 浏览器窗口保持可见 我可以使用以下命令将其最小化selenium minimizeWindow 但我不想这样做 有什么办法可以隐藏 Firefox 窗口吗 我正在使用 FireFox Web
  • 删除日期字符串中的前导零

    我有一个如下所示的日期字符串 2011 02 03 我想删除字符串的日期和月份部分中的前导零 我该怎么做呢 2011 02 03 replace 0 g gt 2011 2 3 Update 根据 Lucky的问题 您可以考虑其他可能有前导
  • 将单元素数组传递给 SendInput 是一个错误吗?

    给出以下代码 void foo INPUT input input type INPUT MOUSE input mi dwFlags MOUSEEVENTF LEFTDOWN SendInput 1 input sizeof input
  • Jquery - 单击文档上任意位置时隐藏

    我有一个 div 只要您在其外部单击 它就会隐藏 但我在使 div 内的某些链接正常工作 而不是隐藏 div 时遇到了一些麻烦 document click function fav hide theDiv click function e
  • 如何获取尽可能多的有关 OpenGL 上下文的信息

    世界你好 感谢您花时间阅读本文 我正在用 GTK2 3 OpenGL 编写一个程序 我运行了该程序的两个版本 a GTK 2 GtkGlext 扩展 gt 效果很好 b GTK 3 LibX11 gt 工作得很好 一切看起来都很好 除了 a
  • 为什么 Jekyll 将类别中的大写单词转换为小写字母

    graphics3d word cloud math se 这是我的类别 为什么都是小写 我怎样才能将它们变成大写 因为我计算机中的目录是大写的 enter image description here 1 还有我的头衔 WordList
  • Ejabberd sbin/ejabberdctl start(没有这样的文件或目录)

    当我安装Ejabberd时 它给出一个错误 说它没有安装成功 但后来我有了文件夹 my ejabberd 及其中的所有文件夹 我不确定这是否已 100 安装 但是当我尝试使用命令行 sbin ejabberdctl start 启动服务器时
  • TCP 和 UDP 协议意义上的记录或数据边界是什么意思?

    我正在学习套接字并在中找到了 数据或记录边界 一词SOCK SEQPACKET通讯协议 任何人都可以用简单的话解释什么是数据边界以及如何SOCK SEQPACKET不同于SOCK STREAM SOCK DGRAM 这个答案https st
  • 有没有办法在运行时查看 Entity Framework Code First 的列映射?

    我正在尝试编写 Entity Framework Code First 的附加组件 并且需要一种在运行时获取模型列的配置的方法 例如 这是代码设置OnModelCreating by the DbModelBuilder builder E
  • 将记录集传递给函数而不是单个变量有什么缺点吗?

    我们有一个单用户 Access 2007 数据库 它可以执行诸如发送报告和根据计时器 事件 更新其他数据库之类的操作 一次一个事件 执行每个事件时 都会创建一个单行记录集 其中包含该事件运行所需的信息 我一直使用单个变量以通常的方式将参数传
  • Jupyter Notebook 500:内部服务器错误

    我想学习如何使用 Jupyter Notebook 到目前为止 我已经成功下载并安装了它 使用 pip 但我在打开它时遇到了问题 我通过输入以下内容打开它 jupyter notebook 在我的终端中 它在我的浏览器中打开 网址为 htt
  • WorkManager:如何在同一个应用程序中设置不同的WorkManager配置

    我正在开发一个多模块项目 Gradle 模块 我在我的模块中使用 WorkManager 我还使用 Dagger 进行依赖注入 现在我必须使用 dagger 将依赖项注入到我的 WorkManager 中 我非常熟悉 Dagger 2 与
  • 确定 Android GC 何时运行

    有谁知道是否有一种方法可以识别 在代码中 而不是 LogCat GC 何时运行 也许有意图被激发 我可以分析 LogCat 输出 但如果我能够确定 GC 何时从我的代码运行 那就更理想了 您可以使用弱引用技巧来做到这一点 WeakRefer
  • 连接间隔 核心蓝牙

    有没有办法通过Core Bluetooth更改连接间隔 我正在将数据块传输到外设 并且传输数据需要花费很多时间 我想减少这个时间 如果可以使用核心蓝牙从 iOS 写入或更新连接间隔 请告诉我 谢谢 仅通过将连接参数更新从外设发送到 iOS
  • 在 R 中合并具有缺失值的数据框

    获取数据帧的代码 rat all structure list frequency c 37L 31L 14L 11L 2L 3L isoforms 8 13 type structure c rat all rat all rat all