有效地“应用”数组并保留结构

2023-11-30

我有一个矩阵数组。

dims <- c(10000,5,5)
mat_array <- array(rnorm(prod(dims)), dims)

我想执行基于矩阵的运算(例如通过solve函数)在每个矩阵上,但保留数组的完整结构。

到目前为止,我已经提出了3个选择:

Option 1:一个循环,它完全符合我的要求,但笨重且效率低下。

mat_inv <- array(NA, dims)
for(i in 1:dims[1]) mat_inv[i,,] <- solve(mat_array[i,,])

Option 2: The apply函数,它更快、更清晰,但将每个矩阵压缩为一个向量。

mat_inv <- apply(mat_array, 1, solve)
dim(mat_inv)
[1]    25 10000

我知道我可以将输出维度设置为与输入维度相匹配,但我很担心这样做会弄乱索引,特别是如果我必须应用非相邻维度(例如,如果我想跨维度 2 反转) )。

Option 3: The aaply函数从plyr包,它正是我想要的,但比其他包慢得多(4-5倍)。

mat_inv <- plyr::aaply(mat_array, 1, solve)

是否有任何选项可以结合速度base::apply具有多功能性plyr::aaply?


None

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

有效地“应用”数组并保留结构 的相关文章

  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 对 data.table 中的列表列执行操作

    假设我有一个data table 例如dt lt data table foo list 1 3 4 6 bar c 2 7 如何使用 dt 框架对 foo 向量列表执行操作 操作可能是将 bar 添加到 foo 返回列表 3 5 11 1
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • dplyr 返回每个组的全局平均值,而不是每个组的平均值

    有人可以解释一下我在这里做错了什么 library dplyr temp lt data frame a c 1 2 3 1 2 3 1 2 3 b c 1 2 3 1 2 3 1 2 3 temp gt group by temp 1 g
  • Angular JS 中的数组

    我是 Angular JS 新手 我正在将元素推送到数组中 然后想使用 ng repeat 在 html 中显示 scope groupedMedia Adding elements through a for loop scope gro
  • 在java中使用BUBBLE SORT对二维字符串数组进行排序

    类似的问题已经被问过 但从来没有关于二维字符串数组 因此在尝试了很长时间之后我找不到我想要的 我正在尝试使用 BubbleSort 对 java 中的 2D 字符串数组进行排序 作为输入 我收到一个二维字符串数组 一个表 以及您应该排序的
  • 无法更新/编辑从 R 中的包(`gratia`)导出的 ggplot2 对象

    我希望我在这里遗漏了一些令人痛苦的明显的东西 我希望更新 例如 修复标题 实验室等 由 生成的 ggplot 对象gratia draw 不太确定为什么我无法更新该对象 有一个简单的解决方案吗 devtools install github
  • 将 NumPy 数组按元素映射到更多维度的数组

    我想要地图anumpy array从 NxM 到 NxMx3 其中三个元素的向量是原始条目的函数 lambda x f1 x f2 x f3 x 然而 像这样的事情numpy vectorize不允许改变尺寸 当然 我可以创建一个零数组并进
  • JSON-LD 构建单个对象数组

    有没有办法将单个对象强制放入数组 每次都测试对象类型真的很烦人 我尝试了这个上下文 但它不起作用 还有JSON LD Playground 中的示例 http tinyurl com ph7p35v 通过此上下文 资源将转换为单个对象 而不
  • randomForest 包在删除一个预测类时的奇怪行为

    我正在运行一个随机森林模型 它产生的结果从统计角度来看对我来说完全没有意义 因此我确信有些东西mustrandomForest 包的代码出现错误 至少在模型的本次迭代中 预测 左侧变量是具有 3 种可能结果的政党 ID 民主党 独立党 共和
  • Postgres JSONB:数组数组的 where 子句

    postgres 中有 v 9 5 如果有的话 create table json test id varchar NOT NULL data jsonb NOT NULL PRIMARY KEY id 其中 data 是 json 并且包
  • 从 n,k 维矩阵数组中减去 n,k 维矩阵

    如果我有一个数组A A lt array 0 c 4 3 5 for i in 1 5 set seed i A i lt matrix rnorm 12 4 3 如果我有矩阵 B set seed 6 B lt matrix rnorm
  • 如何对数字进行四舍五入并使其显示零?

    R 中将数字四舍五入到小数点后 2 位的常用代码是 gt a 14 1234 gt round a digits 2 gt a gt 14 12 但是 如果该数字的前两位小数位为零 则 R 会在显示中抑制零 gt a 14 0034 gt
  • R中的重叠矩阵

    我有以下数据框 id channel 1 a 1 b 1 c 2 a 2 c 3 a 我想创建并重叠矩阵 它基本上是一个方阵 行和列标签为 a b c 表中的每个条目显示每个通道共有多少个 id 例如 在上面的例子中 矩阵看起来像 a b
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • Quantmod 的简单功能不再起作用

    我明天要交论文 我收到了一条关于 quantmod 的非常奇怪的错误消息 这是我在过去几周使用这个包时从未遇到过的 我无法导入特定于道琼斯指数 DJI 的数据 我收到以下错误消息 getSymbols DJI src yahoo from
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • 检查可变参数模板中没有重复类型的 C++ 概念

    我试图弄清楚如何编写一个概念来检查可变参数模板中没有重复的类型 我知道我不能在其内部递归地调用一个概念 但如果可以的话 我的解决方案将如下所示 忽略缺乏停止条件 include
  • 如何在 tampermonkey 中捕获状态 503

    我有一个每秒刷新页面的用户脚本 但有时它尝试刷新的网站会遇到状态 503 错误 这会阻止脚本再运行 这意味着脚本将不再尝试每秒刷新页面 页面出现状态 503 错误后如何保持脚本运行 该错误在控制台中如下所示 加载资源失败 服务器响应状态为
  • Chrome 开发者控制台中出现奇怪的错误 - 无法加载资源:net::ERR_CACHE_MISS

    据我所知 这个错误昨天并没有在 Chrome 上抛出 但从今天早上开始 就出现了 我没有更改任何浏览器设置 我附上了屏幕截图 打开 关闭开发人员工具窗口四次后 这个问题与 Stack Overlow 帖子非常相似Chrome下加载资源失败只
  • JavaFX 样式相同类型的所有节点,例如 VBox

    我有很多包含不同类型的 javafx 节点 例如 VBox 等 的 fxml 文件 我想知道是否可以向场景中添加一个样式表 该样式表会自动应用于在我的项目中任何位置声明 甚至创建 的所有 VBox 元素以编程方式 我知道它很容易支持butt
  • 在类的不同实例的不同线程中使用“pcl::visualization”

    我想要一个包含浊点可视化工具的类 这是我的代码 class my vis void vis func pcl visualization PCLVisualizer vis vis new pcl visualization PCLVisu
  • 更新到 EL Capitan 后 Xcode 未显示产品方案?

    我使用的是 xcode 6 4 它工作正常 但更新到 EL Capitan 后 目前产品方案尚未展示 附图片 我无法选择任何设备或模拟器 确认您没有使用任何变体xcode 6 我也遇到了同样的问题xcode 6 4 但是当我使用xcode
  • 如何重新启动 Finder 应用程序

    我正在使用以下applescript重新启动查找器应用程序 osascript e tell application Finder e delay 1 e try e quit e delay 1 e activate e end try
  • foreach 是否在每次迭代时评估数组?

    我想创建一个foreach它会跳过第一项 我在其他地方看到最简单的方法是使用myCollection Skip 1 但我有一个问题 MSDN 文档中关于 Skip 描述它 绕过序列中指定数量的元素 然后返回剩余元素 这是否意味着调用 for
  • (py)zmq/PUB:是否可以立即调用 connect() 然后调用 send() 并且不会丢失消息?

    使用这段代码 我总是会丢失消息 def publish frontend url message context zmq Context socket context socket zmq PUB socket connect fronte
  • Kahan求和算法GCC编译时计算误差较大

    我使用Kahan求和算法 inline void KahanSum float value float sum float correction float term value correction float temp sum term
  • C# 中的 Pop3 到 SMTP 消息自定义转发器

    我想编写一个服务 定期检查 POP3 帐户是否有新消息 并根据自定义业务逻辑将消息转发到适当的 收件人 并且可能还会更改 发件人 我可能需要在服务器上保留一些消息 直到某些条件准备好转发它们 我找到了一个使用 Chilkat NET 组件的
  • 如何在没有外部软件的情况下使用批处理脚本将二进制文件分割成一定大小的块?

    有很多原因想要将文件分割成块 主要是为了网络传输 例如电子邮件附件 但我确信有些场景可能需要我无法想象的这种东西 那么如何将文件分割成可以轻松组装回原始文件 包括非Windows系统 的块呢 有什么可能性 MAKECAB 内置的 Windo
  • XML 文件未使用 jdom 进行更新

    以下是我的 java 代码 用于读取 xml 文件并更新其中的一些值 public static void writeLexicon String word String tag int newFreq 0 int tagAvailabil
  • 尝试从 Mule 4 中的 XML 中删除命名空间时出错

    当我用 替换所有有效负载 env 和 xmlns 时 我看到类似 当文档没有根时尝试写入 END DOCUMENT 的错误 它抛出错误 Message Trying to write END DOCUMENT when document h
  • angularjs $anchorScroll 有时会刷新所有页面

    我有一个带有 angularjs 路由的应用程序 但在某些视图上我想滚动到某个特定的 div 并且我使用anchorScroll 但有时 并非所有时候 它会刷新所有页面 即使我停止事件传播 有人遇到过这个问题吗 scope redirect
  • 如何解决npm安装问题?

    我正在尝试安装 npm 包 npm ERR code EHOSTUNREACH npm ERR errno EHOSTUNREACH npm ERR request to https registry npmjs org express s
  • 如何将 DOM 元素脚本添加到 head 部分?

    我想将 DOM 元素添加到 HTML 的 head 部分 jQuery 不允许将 DOM 元素脚本添加到 head 部分 而是执行 参考 我想添加script标签并在其中编写脚本部分 var script head append scrip
  • Hadoop 目录/文件上次修改时间

    有没有办法获取hdfs中所有目录和文件的最后修改时间 我想创建显示信息的页面 但我不知道如何在一个 txt 文件中获取最后一次修改时间 看看是否有帮助 public class HdfsDemo public static void mai
  • JFreechart在图表上绘制圆弧

    我有 2 个问题 1 我试图使用形状注释在 XYplot 上绘制圆弧 我使用 XYLine 注释来绘制一条线 并且希望弧线从该线结束的地方开始 我在参数方面遇到一些问题 我希望弧的高度为 17 宽度为 44 并从绘图的点 3 0 17 开始
  • 有效地“应用”数组并保留结构

    我有一个矩阵数组 dims lt c 10000 5 5 mat array lt array rnorm prod dims dims 我想执行基于矩阵的运算 例如通过solve函数 在每个矩阵上 但保留数组的完整结构 到目前为止 我已经