在 R 中通过列名和行名连接矩阵

2024-01-06

我想通过 R 中的列名和行名连接矩阵:

m1 = matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3, byrow = TRUE,
           dimnames = list(c("r1", "r2"),
                           c("a", "b", "c")))
m2 = matrix(c(4, 5, 0, 2,3,4), nrow = 2, ncol = 3, byrow = TRUE,
        dimnames = list(c("r2", "r3"),
                        c("d", "b", "c")))

检查m1:

> m1
    a  b  c
r1  1  2  3
r2 11 12 13

检查平方米:

> m2
   d b c
r2 4 5 0
r3 2 3 4

我想要得到 m3 ,它看起来像这样:

> m3
    a  b  c d
r1  1  2  3 0
r2 11 17 13 4
r3  0  3  4 2

我没有找到一种优雅的方法来做到这一点。使用plyr包中的rbind.fill.matrix函数,我可以间接获取m3。

require(plyr)
m3 = rbind.fill.matrix(m1, m2)
rownames(m3) = c(rownames(m1), rownames(m2))
m3[is.na(m3)]=0 # replace na with zero
m3 = t(sapply(by(m3,rownames(m3),colSums),identity)) # aggregate matrix by rownames

我想一定有一些更好的方法可以做到这一点。你有什么建议?


以下内容似乎有效:

tmp = rbind(as.data.frame(as.table(m1)), as.data.frame(as.table(m2)))
#tmp = aggregate(Freq ~ Var1 + Var2, tmp, sum)  #unnecessary   
xtabs(Freq ~ Var1 + Var2, tmp)
#    Var2
#Var1  a  b  c  d
#  r1  1  2  3  0
#  r2 11 17 13  4
#  r3  0  3  4  2

编辑:正如@AnandaMahto 所指出的,xtabs是一个“列联表”,而不是一个“重塑数据”函数,因此,它默认求和。

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

在 R 中通过列名和行名连接矩阵 的相关文章

  • 如何根据R中的条件创建新变量

    我正在尝试根据某些条件创建一个新变量 我的数据看起来像 a b 1 NA 2 3 3 3 NA 2 NA NA 我想要的是一个变量c这样 when a is not NA b is NA c a when a is NA b is not
  • 将函数应用于因子相关子矩阵

    我有一个对称矩阵 数据框 看起来像 structure list HQ673618 1 c NA 90 8 89 8 89 6 89 8 88 9 87 8 88 2 88 3 HQ674317 1 c 90 8 NA 98 6 97 7
  • 如何在 Windows 上使用 freeType 构建 rgl

    我正在尝试 并且非常失败 建立rgl封装有freeType在 Windows 上 因为事实证明 rgl我通过 Rgui 安装的 Windows 二进制文件不包括freeType支持 我需要它的原因是this https stackoverf
  • 如何在 R 中建立具有某些条件的排列[重复]

    这个问题在这里已经有答案了 我是 R 新手 有点困惑 假设我有一个向量 c 1 2 3 4 5 6 我想生成具有四个元素的排列 每个排列应涉及 1 和 5 谢谢 您可以使用permutations https www rdocumentat
  • 带有 jsessionid 的 R 网络抓取工具

    我正在 R 中测试一些网页抓取脚本 我已经阅读了很多教程 文档并尝试了不同的方法 但到目前为止还没有成功 我试图抓取的网址是this one http www dataescolabrasil inep gov br dataEscolaB
  • 如何从包含 htmlwidget 的 rmarkdown 文件生成 md 文件

    我正在用这个 rmd 创建一个 html 文件 title test author me date r Sys Date output html document r data HairEyeColor rpivotTable rpivot
  • 更改 geom_text 的默认“a”图例以标记字符串本身

    类似于这个问题 https stackoverflow com questions 18337653 remove a from legend when using aesthetics and geom text 我想更改图例中的默认 a
  • R 将向量重塑为多列

    假设我在 R 中有一个向量 如下所示 d lt seq 1 100 我想将这个向量重塑为 10x10 矩阵 这样我就可以得到以下数据 1 2 3 10 1 2 3 10 11 12 13 20 21 22 23 30 91 92 93 10
  • 为什么连接终止

    我正在尝试使用随机森林分类模型H2OR 内部的库 训练集有 7000 万行和 25 个数字特征 总文件大小为 5 6 GB 验证文件的大小为 1 GB 我的系统有 16 GB RAM 和 8 核 CPU 系统成功读取 H2O 对象中的两个文
  • SQLite:具有四个表的完全外连接

    编辑 可以找到这个问题的扩展here https stackoverflow com questions 47667304 sqlite full outer join with four tables with 30 columns 我想
  • MySQL - 基于日期加入

    是否可以根据同一日期连接两个表 而不考虑时间 就像是 从预约左侧加入销售 约会 日期 销售 日期 唯一的问题是它是一个日期时间字段 所以我想确保它只查看日期并忽略时间 你可以这样做 FROM appointments LEFT JOIN s
  • 如何在 ggplot2 图中有两个源标题? [复制]

    这个问题在这里已经有答案了 我正在尝试在 ggplot2 图中添加第二个标题 与这位经济学家制作此图的方式类似 这是我制作的一个基本图 我知道如何在右下角添加一个标题 但如何在左下角添加另一个标题 ggplot mtcars aes mpg
  • R - 按列比较两行并将结果写入表中

    我是 R 新手 可能我的问题的解决方案非常简单 但目前我无法实现 我想按列比较数据框中的行 每列中的数据是一个字母 核苷酸碱基 seq1 A C T G T seq2 A C G G G seq3 A G G C A 我想按列比较数据集中的
  • 如何使用 formattable 折叠表中的行值组?

    我有兴趣使用以下领域的工具formattableR 包 但我只想在表中显示有更改的地方 也就是说 我想要在kableExtra包通过collapse rows 功能 例如 使用kable and kableExtra 我可以做这个 libr
  • 如何在 purrr::map_df 之后使用映射向量添加列

    我使用 mtcars 数据集作为示例来说明我的问题 我对每种气缸类型进行了线性回归 并使用 map df 将所有模型结果放在一起 下面的代码和输出 我想要做的是添加另一列名为 圆柱体 4 4 6 6 8 8 我怎样才能在map df中做到这
  • R数据表:如何找到特定单元格正下方的未知数量的空单元格并用编号字符串填充它们

    我知道如何找到空的cells in a data table一般来说 但这有点棘手 我还没有完全弄清楚如何管理它 可以说我有一个data table其中在df 2 1 包含我需要定位的关键字字符串 智能触发 在这种情况下 仪器用户使用的智能
  • 对矩阵进行舍入,保留行和列总计

    想要 以保留行和列总计的方式对矩阵进行舍入的 伪 代码 问题从向量开始 X and Y of 非负整数 with Sum X Sum Y 想要圆X Y Sum X 同时保留行和列总计 这是婚姻问题的一种 Xa需要进行一定次数的握手 拨打该号
  • 使用 knit 以编程方式将 R 块中的图像包含在 .md 文档中

    我想以编程方式在我的 Rmd markdown 文档中包含大量图像 就像是 r echo FALSE cat myfile 1 png 将不起作用 因为结果 md输出是 myfile 1 png 我需要去掉代码标签 和领先的 是否有一个选项
  • 如何在 Jupyter Notebook 内的 conda 环境中使用特定的 Java 版本

    我的总体目标是使用sparklyr在 Jupyter 实验室的 Azure 云服务上的 R Jupyter 笔记本中 我使用 R sparklyr 和 Java 8 创建了一个新的 conda 环境 因为这是 Sparklyr 支持的版本
  • 如何使 R barplot 上的列标签变为斜体

    这可能是一个简单的问题 但是如何仅将条形图上的列标签设为斜体 而不是斜体x axis标签 但列标签是专门的 到目前为止我的代码是 bp barplot means names arg c CON TRI ylim c 0 120 ylab

随机推荐

  • 为什么我的调试器有时会崩溃并做出与我的代码不一致之类的事情?

    当我在我的 C 代码上使用调试器时 在我的特定情况下 是 QT Creator 和 GDB 一起激发了这个灵感 有时甚至在调用之后make clean其次是make调试器似乎吓坏了 有时它似乎与另一段代码的行号对齐 并且会跳来跳去 有时这会
  • string::find 的 C++ 正则表达式等效项

    我正在尝试编辑一个开源 C 程序来进行简单的调整 以便输入之一接受正则表达式字符串而不是字符串 我是一个完全的 C 菜鸟 从未写过任何东西 所以我希望有人能给我指出一个可以工作的函数 采取以下代码 include
  • 每次请求时都会调用tornado.web.RequestHandler中的初始化/

    有一个initialize中的方法tornado web RequestHandler类 每次有请求时都会调用吗 是的 龙卷风在召唤initialize对于每个请求 如果您想在请求之间共享状态 例如数据库连接 将其存储在self appli
  • NHibernate 属性公式过滤器

    我有以下课程 MyClass public virtual int Id get set public virtual int Code get set public virtual int Description get set publ
  • 如何将文件下载到本地下载文件夹?

    我使用 WebView 启用了文件的下载设置 我正在使用 DownloadManager 保存文件 但这些文件不会出现在本地下载目录中 我下载的文件保存在这里 gt file storage emulated 0 Android data
  • 带有 NULL 的指针算术

    有人可以解释一下为什么 int main void char a NULL int b NULL double c NULL printf n d d d n d d d n n int a 1 int b 1 int c 1 int a
  • Windows 在哪里存储 ACL,ACL 是否跟随文件从一台计算机传输到另一台计算机?

    我们的应用程序使用的组件需要在可执行文件的目录中包含许可证文件 该文件恰好是 NET WinForms 应用程序 尽管我认为这对这个问题并不重要 当安装在某些 XP Pro 计算机上时 迄今为止仅数百台计算机中的三台 该组件会引发许可证异常
  • 去掉itextsharp中的左右侧边框,想要一个矩形框

    Remove the left and right side borders of Approved By and sign and also i need to draw a small rectangular box after cal
  • 无法打开自定义文件扩展名

    我有一个我希望支持的文件格式 它只是一个 zip 但我已将其重命名为 amg 以便我的应用程序可以读取它 在我的带有姜饼的三星手机上 它工作正常并且可以打开 在我的带有 Kitkat 的摩托罗拉手机上 我得到的只是无法打开它 我尝试过这里找
  • 使用 Lua I/O 函数创建新文件

    我开始学习io 函数 并尝试在我的代码中实现它们 我一直在寻找这个问题的答案 但似乎没有任何明确的答案是或否 或者至少我没有看到 我希望这里有人能知道答案并能够提供帮助 我想创建一个可以随着时间的推移写入的文本文件 它基本上是一个日志 我将
  • 为什么要禁用 IpV6 Hadoop 安装

    我已经在 Ubuntu 系统上成功安装并运行 Hadoop 我正在关注一些文章的教程 我很困惑为什么每一步都建议禁用 ipv6 如果我不在系统上禁用 ipv6 会有影响吗 有谁能回答一下吗 就像声明的那样here http wiki apa
  • CKEditor:在粘贴上应用removeFormat

    我已经成功地设置了一个粘贴事件来捕获粘贴到文本区域的 HTML 我需要在将 HTML 粘贴到文本区域之前或之时自动将removeFormat 命令应用于该 HTML 以便我可以去除其中的类 各种标签和其他属性 有人可以指出我正确的方向来正确
  • VBA“ThisWorkbook.Close”不关闭此工作簿!

    我正在 Excel 中编写一个 VBA 宏 该宏应该打开 fileB xls 然后在打开后立即关闭 由于我们将讨论 3 个 Excel 文件 因此我将第一个文件命名为 fileA 文件 A 用户窗体上按钮的代码如下所示 Private Su
  • 一个应用程序中哪一个应该是单例? MongoClient 还是 MongoDatabase 还是 MongoCollection?

    正如文档中提到的 http mongodb github io mongo java driver 3 3 driver getting started quick tour http mongodb github io mongo jav
  • 错误“此方法必须返回 int 类型的结果”?

    我下面有这段代码 它不断告诉我Thanksgiving 必须返回int 类型的结果 我已经投射了所有结果只是为了确定 但似乎没有任何效果 为什么我会收到此错误 public class Thanksgiving private static
  • 检测 Android 4.0+ 上的屏幕截图尝试

    我正在开发一个 Android 应用程序 该应用程序高度重视保护用户的数据 以至于不会在本地设备的持久内存中存储任何内容 为了进一步保护用户数据 每当有人尝试截取活动应用程序的屏幕截图时 我们都希望向我们的服务器发出 Web 服务调用 到目
  • Python 和 Selenium 移动仿真

    我正在尝试使用 Selenium 仿真和 Python 来模拟 iPhone X 的 Chrome 如下所示 from selenium import webdriver mobile emulation deviceName iphone
  • Google App Engine 上的 django-nonrel - 对 ManyToMany 使用 ListField 的影响

    我正在开发 Google App Engine 应用程序 对此我还比较陌生 我已经在 Django 中构建了一个应用程序 并拥有一个使用 ManyToMany 字段类型的模型 我知道 django nonrel 不支持 Django 的多对
  • 将电子邮件读入 SQL 数据库的 .net 代码

    我正在寻找一些链接和 或代码片段 这些链接和 或代码片段将允许 ASP NET 网页 或者 Outlook 加载项 允许我阅读发送到特定电子邮件地址的电子邮件 然后解析电子邮件将消息分成组成部分 即主题 正文 附件等 并保存到我的数据库中
  • 在 R 中通过列名和行名连接矩阵

    我想通过 R 中的列名和行名连接矩阵 m1 matrix c 1 2 3 11 12 13 nrow 2 ncol 3 byrow TRUE dimnames list c r1 r2 c a b c m2 matrix c 4 5 0 2