r - 以连续形式将两个矩阵列表相乘
问题描述
我有两个矩阵列表,我想将第一个列表的第一个元素与第二个列表的第一个元素相乘,依此类推,而无需编写每个操作,因为每个列表上可能有大量元素(两个列表都有一样长)
这就是我的意思
'(colSums(R1*t(M1))),(colSums(R2*t(M2))),...(colSums(Rn*t(Mn)))'
我需要创建一个额外的列表吗?尽管首先我必须能够在将其中一个列表的矩阵相乘之前对其进行转置。结果将用于更简单的操作。
我已经尝试使用索引和循环但不起作用,首先尝试在一个这样的列表中转置矩阵(M 是列表之一,另一个名为 R,M 包含 M1、M2、..Mn 和相同对于列表 R)
完整的操作如下所示:
'for (i in 1:length(M)){Mt<-list(t(M[[i]]))}'
并且仅将其应用于最后一个元素。
完整的操作如下所示:
'(cbind((colSums(R1*t(M1))),(colSums(R2*t(M2))),...(colSums(Rn*t(Mn))))'
这些中的任何步骤都会有用
解决方案
你可以使用 rlist 包。
功能
list.apply(.data, .fun, ...)
将对每个列表元素应用一个函数。
您可以在 [ https://cran.r-project.org/web/packages/rlist/rlist.pdf][1]找到文档。
推荐阅读
- docker - 带有本地服务器的 Docker/Kubernetes
- c# - 如何在 C# 中替换 CSS 文件中的值?
- python - 如果使用带有分页的 Javascript,如何在网站上抓取数据
- json - 如何从交互式图表中抓取 json 数据?
- c++ - 如何在 Android Studio 中更改 CMake 路径
- java - 是否有任何函数可以编写将数据提取到 csv 文件中的二维数组?
- gitlab - GKE 无法从工件中提取图像
- python - Python 线程名称是否反映了打开线程的数量?
- dax - 如何根据 DAX 中减少/增加列的值计算度量
- crystal-reports - Crystal Reports 从汇总总计中计算值