在 R 中粘贴矩阵

2023-12-27

我有一个关于粘贴矩阵的问题。我有一组 10 个矩阵,它们具有相同的行名称但不同的列名称,例如

矩阵1:

   A B C D
a  1 0 0 0
b  0 1 0 0
c  0 1 0 0
d  0 0 1 0 
e  0 0 0 1

矩阵2:

  A B D E F
a 1 0 0 0 0
b 0 1 0 0 0
c 0 1 0 0 0 
d 0 0 0 0 0
e 0 0 1 0 0

我想将两个矩阵格式化为

  A B C D E F
a 1 0 0 0 0 0
b 0 1 0 0 0 0
c 0 1 0 0 0 0
d 0 0 1 0 0 0
e 0 0 0 1 0 0

如何在 R 中快速完成而不循环? 谢谢!


样本数据:

mat1 <- data.matrix(read.table(text="A B C D
a  1 0 0 0
b  0 1 0 0
c  0 1 0 0
d  0 0 1 0 
e  0 0 0 1", header = TRUE, row.names = 1))

mat2 <- data.matrix(read.table(text="A B D E F
a 1 0 0 0 0
b 0 1 0 0 0
c 0 1 0 0 0 
d 0 0 0 0 0
e 0 0 1 0 0", header = TRUE, row.names = 1))

假设您的所有矩阵都在一个列表中(如果没有,则创建一个)

mat.list <- list(mat1, mat2)

我们的第一步是将矩阵转换为 data.frames。这将使算法有效地利用内存:

df.list <- lapply(mat.list, as.data.frame)

我们编写一个函数来合并两个 data.frames:

cat.df <- function(d1, d2) {d1[names(d2)] <- d2; d1}

我们迭代地将所有 data.frame 合并为一个大 data.frame:

one.df <- Reduce(cat.df, df.list)

最后,我们将其转换为矩阵:

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

在 R 中粘贴矩阵 的相关文章

  • R:中断 for 循环

    你能确认下一个break是否取消了内部for循环吗 for out in 1 n old id velho lt old table df id out for in in 1 n id novo lt new table df ID in
  • R 中 nlme 包中的 gls 函数出错

    我不断收到这样的错误 Error in coef lt corARMA tmp value c 18 3113452983211 1 56626248550284 Coefficient matrix not invertible 或者像这
  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • 将文件夹中的多个 csv 文件读取到 R 中的单个数据帧中[重复]

    这个问题在这里已经有答案了 我有一个包含 332 个 csv 文件的文件夹 文件名称如下 001 csv 002 csv 003 csv 330 csv 331 csv 332 csv 所有文件都具有相同数量的变量和相同的格式 我需要读取一
  • 距数据帧中最近的非 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 中的树状图标签

    我在 R 中有一个树形图 它基于使用 hclust 的分层聚类 我正在对不同颜色的标签进行着色 但是当我尝试使用以下命令更改树图的标签 集群所基于的数据帧的行 时dendrogram dendrogram gt set labels dat
  • 配置 fix() 和 edit() 以从 R/RStudio 在 Notepad++ 中打开

    当我在 RStudio 或 RGUI 中执行此操作时 fix SomeFunction 或使用edit 我可以在记事本中看到该函数的代码 有什么方法可以更改此设置 以便代码预览在 Notepad 中打开 而不是在普通的旧记事本中打开 同样
  • 如何使用 ggplot2 对曲线下的区域进行着色

    我一直在尝试使用 ggplot2 生成类似于此 R 图形的绘图 xv lt seq 0 4 0 01 yv lt dnorm xv 2 0 5 plot xv yv type l polygon c xv xv lt 1 5 1 5 c y
  • 正则表达式提取美国邮政编码,但不提取假代码

    使用 XML 包和 XPath 从网站上抓取地址 有时我只能得到一个嵌入了我想要的邮政编码的字符串 提取邮政编码很简单 但有时会显示其他五位数字的字符串 以下是 df 中问题的一些变体 zips lt data frame id seq 1
  • R正则表达式获取第二个下划线之前的所有文本

    s lt 1 343 43Hello 2 323 14 fdh 99H 在 R 中 我想使用正则表达式来获取第二个下划线之前的子字符串 如何使用一个正则表达式来完成此操作 另一种方法是用 分割 然后粘贴前两个 一些东西 paste sapp
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数yes seq需要两个参数 一个模式pat和数据dat 该函数以相同的顺序查找数据中是否存在模式 例如 dat lt letters 1 10 dat 1 a b c d e f g h i j pat lt c a c g
  • R,igraph,是否可以用图案填充顶点

    使用 R 和 igraph 绘制图形 我使用颜色来标记顶点类型 请参阅下面的代码 是否可以用图案而不是颜色填充顶点 以便在以彩色和黑白查看时可以区分节点类型 我需要 4 种独特的颜色 图案 colorbrewer 中唯一适合的调色板是这个
  • 如何将数据从长格式重塑为宽格式

    我在重新排列以下数据框时遇到问题 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
  • 构造奎因(自我复制功能)

    有没有人构建过 quine 生成自己源文本的副本作为其完整输出的程序 http www nyx net gthompso quine htm http www nyx net gthompso quine htm 在 R 中 quine 标
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • 使用矢量相应地更改传单线条的颜色

    无论如何 是否可以根据某些变量的值更改传单线条的颜色 我用谷歌搜索 发现了这个link http hgoebl github io Leaflet MultiOptionsPolyline demo 然而 我想知道是否有一种简单的方法可以在
  • 按名称包含在单个对象中的多个列对 data.frame 进行排序?

    我想排序一个data frame由多列组成 理想情况下使用基础 R 无需任何外部包 尽管如果有必要 就这样吧 读过如何按列对数据框进行排序 https stackoverflow com questions 1296646 how to s
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l

随机推荐

  • R - ggplot2 等高线图

    我正在尝试用 R 复制 Andrew Ng 在 Coursera 上的机器学习课程中的代码 因为该课程是在 Octave 中 基本上我必须为多项式正则化逻辑回归绘制非线性决策边界 p 0 5 我可以使用基础库轻松复制该图 contour u
  • jQuery UI:可拖动滚动问题

    我正在尝试使用 jQuery UI 构建一个可拖放的文件夹文件视图 但我遇到了一个问题 我认为这归因于助手 这是我的代码 The HTML div span Parent Directory 1 span div span class fo
  • C++ 对 vtable 的未定义引用

    我正在学习C 我正在尝试做一个练习 用单个函数定义纯虚拟类的多个实现 我在链接使用这些实现的类时遇到问题 gt BasicMath h lt ifndef BASIC MATH H define BASIC MATH H include
  • 为什么 Crashlytics 报告的崩溃次数比 Google Play Console 少得多?

    我在 Google Play 商店上发布了一款集成了 Firebase Crashlytics 的应用程序 我在 Google Play 控制台中看到 当我取消选择 从 Google Play 安装 过滤器时 出现了许多新的崩溃 属于 从
  • 命令行查找目录中的第一个文件

    我的目录结构如下 Directory1 file1 jpg file2 jpg file3 jpg Directory2 anotherfile1 jpg anotherfile2 jpg anotherfile3 jpg Director
  • 我如何检测双卡设备中哪个卡的新拨出电话?

    我知道我可以通过该接收器检测到新的拨出呼叫
  • 大文件上传期间 Grails 连接超时

    我想防止SocketTimeoutException如果用户尝试从我的 Grails Web 应用程序中的上传表单上传大文件 大约 1 分钟后就会发生这种情况 我知道这是 Tomcat 的问题而不是 Grails 的问题 但我在修改方面有点
  • 优化以通配符开头的 LIKE 表达式

    我在 SQL Server 数据库中有一个表 其中包含地址字段 例如 1 Farnham Road Guildford Surrey GU2XFF 我想在搜索字符串之前和之后使用通配符进行搜索 SELECT FROM Table WHERE
  • 项目文件夹中的 __init__.py 破坏了鼻子测试

    项目树 bar py test init py test bar py bar py def dumb true return True 测试 test bar py import bar def test bar true assert
  • Android:关闭/丢失蓝牙连接或文件接收 -> 执行某些操作

    我想编写一个应用程序 通过以下方式监视我配对的蓝牙连接 如果文件来自配对源 则应存储该文件 如果没有文件被传递并且蓝牙连接中断 我的应用程序将存储一个虚拟文件 存储文件效果很好 我的主要问题是如何在显示器上没有活动的情况下运行整个过程 我读
  • 使用 OpenStreetMap 获取给定 GPS 坐标集的国家/地区名称

    有谁知道是否有办法使用 OpenStreetMap 离线或 API 来获取给定的 GPS 坐标集的国家 地区名称 我对使用此处提到的 Google 或 Geonames API 不感兴趣 GPS 坐标的国家 地区名称 https stack
  • 更新会员属性。不支持的方法

    我已经尝试研究我收到的异常几个小时了 但没有任何进展 我只是尝试使用以下代码更新会员资料 MembershipUser user Membership GetUser username user IsApproved false Membe
  • iOS:Google 地图 API -markerInfoWindow 与markerInfoContents

    我浏览了谷歌地图文档 https developers google com maps documentation ios sdk reference protocol g m s map view delegate p html ada4
  • 使用较小的物理内存对 10 亿个整数进行排序

    想要对 10 亿个整数进行排序 而我的系统只有 1 GB RAM 最快 最有效的排序方法是什么 假设我们在文本文件中输入每行一个整数 我们使用java程序来排序 我指定了 RAM 因为我们无法将所有输入整数保存在 RAM 中 Update
  • 创建一个序列,其值是字符和数字的混合

    我正在使用 Postgres 9 1 并且想创建一个可以用作主键的序列 它应该如下所示 entity id seq X0001 X0002 X0123 and nextval entity id seq 会回来 X0124 知道如何以及是否
  • inline 决定内部链接吗?

    我正在尝试外部内联函数 我认为它应该如何工作 a cpp inline void f int b cpp extern void f int int main f 4 但出现链接错误 然后通过阅读this https en cpprefer
  • cocos2d 3.x CCButton 设置精灵帧图像扭曲且回调/块不起作用

    我需要设置按钮的精灵框架 当我使用构造函数时它正在工作 CCSprite sprite CCSprite spriteWithImageNamed but png CCButton button CCButton buttonWithTit
  • ClickHouse Kafka 性能

    按照文档中的示例 https clickhouse yandex docs en table engines kafka https clickhouse yandex docs en table engines kafka 我使用 Kaf
  • pip install 与 conda install [重复]

    这个问题在这里已经有答案了 由于我使用的是 Spider 所以我应该使用 conda install 但是有些软件包无法在 conda install 中安装 而在 pip install 中可以轻松安装 例如 我在 pip install
  • 在 R 中粘贴矩阵

    我有一个关于粘贴矩阵的问题 我有一组 10 个矩阵 它们具有相同的行名称但不同的列名称 例如 矩阵1 A B C D a 1 0 0 0 b 0 1 0 0 c 0 1 0 0 d 0 0 1 0 e 0 0 0 1 矩阵2 A B D E