如何计算R中矩阵乘积的对角线

2023-11-20

我有两个矩阵A and B,那么最快的方法是什么just计算diag(A%*%B),即内积ith row of A and ith的列B, and 不关心其他项的内积.

补充:A and B分别具有较大的行数和列数。


这可以在不进行完整矩阵乘法的情况下完成,仅使用矩阵元素的乘法。

我们需要将行相乘A通过匹配的列B并对元素求和。行数A是列t(A),我们按元素乘以B并对列求和。

换句话说:colSums(t(A) * B)

测试代码我们首先创建示例数据:

n = 5
m = 10000;

A = matrix(runif(n*m), n, m);
B = matrix(runif(n*m), m, n);

你的代码:

diag(A %*% B)
# [1] 2492.198 2474.869 2459.881 2509.018 2477.591

无需矩阵乘法直接计算:

colSums(t(A) * B)
# [1] 2492.198 2474.869 2459.881 2509.018 2477.591

结果是一样的。

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

如何计算R中矩阵乘积的对角线 的相关文章

  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数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
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 来自大型数据帧的共现

    我有一个数据框 其中包含有关每个用户访问过哪些城市的信息 df visited lt data frame user c john john claire claire doe doe city c Antananarivo Barcelo
  • 在zooreg时间序列中查找非唯一索引条目时遇到问题

    我有几年的数据正在尝试将其转化为动物园对象 Dropbox 上的 csv https www dropbox com sh vg8w8pt16e0v3xs AABKtWqDkPu9JVKpwBXO36VOa dl 0 一旦数据被强制转换为动
  • 基本 dyplr 函数给出错误:“check_dots_used”

    试图找出为什么我会收到此错误 以前从未见过 谷歌没有帮助 check dots used action warn 中的错误 未使用参数 action warn 我在下面的非常基本的试验中收到错误 而且在 group by count 中也收
  • 如何在闪亮的observeEvent中监听多个事件表达式

    我想要两个不同的事件触发观察者 有人建议here https stackoverflow com questions 34731975 how to listen for more than one event expression wit
  • 从 leafletProxy() 返回渲染的传单地图

    是否可以在渲染后在 Shiny 中检索传单地图 下面是一个代码示例 展示了如何生成地图leaflet 与返回的不同leafletProxy 即使它们在渲染时看起来完全相同 是否有一个功能可能不同于leafletProxy 获取实际的 htm
  • R 中舍入到下一个数量级的算法

    如果标题不清楚 我很抱歉 但我无法简洁地解释它 给定一个浓度向量 我想将最大值四舍五入到下一个数量级 即 345 到 1000 另外 我想将最小值四舍五入到较低的数量级 即 3 2 到 1 这些浓度也可能低于 1 因此例如 0 034 需要
  • 如何编写固定宽度的文件?

    我应该编写一个基于固定宽度列的特定格式的 txt 文件 例如 第 1 8 列中的第一个变量 第 9 15 列中的第二个变量 原始数据有不同的长度 它们必须放在指定列的右侧 例如 值 15 96 和 12 489 必须写入第一行和第二行的第1
  • 关于在 LyX 中生成和交叉引用 knitr 图的意见

    我的目标是在 LyX 中包含一个knitr图 我可以在我的文档中交叉引用 我 插入了浮动图像 添加了标题和标签 在浮动图像中插入了 ERT 而不是图像 我所做的图片如下 我在这里检查过类似的问题 但没有人做我所做的事情 所以我在这里问 有没
  • k折交叉验证 - 如何自动获得预测?

    这可能是一个愚蠢的问题 但我只是找不到一个包来做到这一点 我知道我可以编写一些代码来获得我想要的东西 但如果有一个函数可以自动完成它那就太好了 所以基本上我想对 glm 模型进行 k 倍交叉验证 我想自动获取每个验证集的预测和实际值 因此
  • 是否可以创建根据输入对象名称自行命名的列表?

    能够创建 R 列表对象而无需指定每个元素的名称对我来说非常有帮助 例如 a1 lt 1 a2 lt 20 a3 lt 1 20 b lt list a1 a2 a3 inherit name TRUE gt b a1 1 1 a2 1 20
  • 如何比较数据框1的每一行与数据框2的每一行?

    我有两个数据框 如下所示 x data frame Name c 200003 200260 400826 400863 500710 Chr c chr1 chr1 chr2 chr3 chr3 Position c 11880 1441
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • 有什么方法可以禁用 PDF/Postscript 输出中的“减号破解”吗?

    在 R 中 将绘图保存到 PDF 或 Postscript 文件时 轴标签中的连字符会变成减号 显然 这是设计使然 根据 postscript 设备的文档 正常编码规则 有一个例外 字符 45 始终设置为负号 其在 Adob e ISOLa
  • R中的for循环和if函数

    我正在用 R 中的 if 函数编写一个循环 表格如下 ID category 1 a 1 b 1 c 2 a 2 b 3 a 3 b 4 a 5 a 我想使用 for 循环和 if 函数添加另一列来计算每个分组的 ID 如下所示的计数列 I
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 从拟合的 lm 或 glm [R] 获取每个因子水平(以及交互作用)的数据数量

    我在 R 中有一个逻辑回归模型 其中所有预测变量都是分类变量而不是连续变量 除了响应变量 它显然也是分类 二元变量 打电话时summary model name 有没有办法在每个因子水平中包含一个表示观测值数量的列 我在 R 中有一个逻辑回
  • R - 加速近似日期匹配。 idata.frame?

    我正在努力有效地执行两个数据帧之间的 关闭 日期匹配 这个问题探索了一个解决方案 使用idata frame来自plyr包 但我也对其他建议的解决方案感到非常满意 这是两个数据框的非常简单的版本 sampleticker lt data f

随机推荐

  • 将 unicode 打印到控制台

    我正在尝试创建一个自定义打印流 可以将本地化消息打印到控制台 我在 Windows 上执行此操作时遇到问题 这是我正在尝试做的 我有一个 unicode 字符串 使用 UTF 8 编码将 unicode 字符串转换为字节 使用控制台编码将字
  • 避免 HTTP/1.1 响应的分块编码

    我想避免得到chunked来自 合格 HTTP 服务器的编码 HTTP 服务器响应 我在读RFC 2616部分 14 39 TE 在我看来 我可以通过指定来避免它TE chunked q 0 如果我无法避免chunked编码 我想避免预告片
  • 为什么 android:windowSoftInputMode="stateVisible|adjustResize" 显示软键盘时不调整屏幕?

    我似乎无法使 android windowSoftInputMode stateVisible adjustResize 选项起作用 当软键盘显示时 滚动视图不会自动滚动到底部 Edit 我尝试使用 adjustmentPan 代替 sta
  • 使用onbeforeunload确认时是否可以捕获用户的答案?

    我需要警告用户 他们在离开页面时会丢失信息 使用 onbeforeunload 事件可以轻松完成此操作 我的问题是 如果用户决定离开 我想采取一些行动 这是一个示例 我使用 jquery 因为它无论如何都会加载 window on befo
  • 在 NuGet 中使用 Elmah.MVC 后,“‘无法加载文件或程序集‘Elmah’或其依赖项之一。系统找不到指定的文件”

    我有一个 MVC 应用程序 我用过http nuget org 要为 MVC 安装 Elmah 我能够成功安装并运行它 几周后重新打开 Visual Studio 我收到此错误 Could not load file or assembly
  • 将 PHP 对象图序列化/反序列化为 JSON

    我想将完整的 PHP 对象图序列化为 JSON 字符串表示形式 并将其反序列化回相同的 PHP 对象图 以下是我考虑过的选项的摘要 以及它们对我不起作用的原因 serialize 没有做我想要的 因为它使用特定于 PHP 的格式 我想要一种
  • 当单步进入类实例化时,Eclipse 调试器会转到本机代码

    我最近升级到了 helios 现在每次我进入一个类的构造函数时 例如Cat myCat new Cat Eclipse 调试器将堆栈显示为 为了获得实际的构造函数代码 我必须退出几次 这很烦人 每个类都会发生这种情况 尽管有堆栈 但我从未在
  • java.exe始终指向JRE而不是JDK的路径

    我的 Windows 7 上安装了 jdk 和 jre 我已将 JAVA HOME 设置为 C Program Files Java jdk1 6 0 23 我已经添加了 C Program Files Java jdk1 6 0 23 b
  • 列出回调?

    有什么办法可以制作一个list每次修改列表时都调用一个函数 例如 gt gt gt l 1 2 3 gt gt gt def callback print list changed gt gt gt apply callback l cal
  • 如何格式化 Vuetify 数据表日期列?

    我有一个简单的数据表 使用Vuetify数据表 其中一列是createdOn 日期时间 我想格式化它 我该怎么做 这就是我现在得到的
  • 在输入[type='number']上,Edge 始终为“valueAsNumber”返回“NaN”

    以下内容在 Chrome 和 Firefox 中运行良好 但在 Edge 中会发出警报NaN无论输入 document querySelector button addEventListener click function alert d
  • Paypal 按钮 - 添加变量以返回 URL

    我正在尝试向网站添加一个简单的 PayPal 按钮 我想要做的是将按钮设置为包含需要选择的 选项 这不是问题 我已创建按钮并显示选项选择框 我想要做的是返回到我自己的域上的 URL 但让 URL 包含付款前选择的下拉框中的选定选项 所以我从
  • 在控制器之间设置和检索对象的 Angular 服务

    我一直在尝试从 http post 响应设置一个服务对象到一个控制器并从另一个控制器获取它 我在 SO 或网站中看到的教程更多地侧重于将其从 HTML 输入获取到控制器 然后另一个控制器获取值 我想避免使用 rootscope 而且我是 a
  • 如何在64位Window下连接R与Access数据库?

    当我尝试将 R 与 Access 数据库连接时出现错误 odbcConnectAccess is only usable with 32 bit Windows 有谁知道如何解决这个问题 library RODBC mdbConnect l
  • OpenCVSharp:无法加载 DLL“OpenCvSharpExtern”

    我已经在我的项目中使用 NuGet 管理器安装了最新的 OpenCVSharp 2 2 4 10 201 有关 OpenCVSharp CvMat 的所有内容都工作正常 加载 操作等 因此我确信安装是正确的 但是我根本无法使用 OpenCV
  • iPhone 6 显示缩放功能扰乱了整个视图

    我在使用 iPhone 6 时遇到问题显示缩放功能 如 Xcode 6 1 1 模拟器没有显示缩放功能来测试 并且仅具有标准显示 Problem 当我在模拟器和 iPhone6 带标准显示 上运行代码时 它工作正常 但是当我在 iPhone
  • 如何减少新表单的“使用”样板?

    每次我向项目中添加新表单时 都会在使用条款中删除一大堆样板文件 uses Windows Messages SysUtils Variants Classes Graphics Controls Forms Dialogs 说真的 谁会定期
  • npm 在哪里安装包?

    有人可以告诉我在哪里可以找到我使用安装的 Node js 模块吗npm 全球图书馆 你可以运行npm list g查看安装了哪些全局库以及它们所在的位置 使用npm list g head 1对于仅显示路径的截断输出 如果您只想显示主包而不
  • p.classname 或 .classname p,有什么区别吗?

    所以 我对这个简单的事情有点困惑 我已经尽可能多地用谷歌搜索 但我只是不知道谷歌搜索的正确关键字 我尝试了 CSS 选择器等 没有答案足以消除我的困惑 所以我也测试过 p classname似乎不起作用 但根据我正在读的书中的定义 2012
  • 如何计算R中矩阵乘积的对角线

    我有两个矩阵A and B 那么最快的方法是什么just计算diag A B 即内积ith row of A and ith的列B and 不关心其他项的内积 补充 A and B分别具有较大的行数和列数 这可以在不进行完整矩阵乘法的情况下