r - R中的矩阵乘法和加法
问题描述
也许我在搜索中没有使用正确的术语,但我想知道是否有人可以指出一种简单的方法来执行以下操作:
我有两个矩阵:
mat1 = matrix(1:12, 3)
mat2 = matrix(c(1, 2, 1, 2, 3, 2, 1, 2), 2, 4)
我想将某一列中的每一行乘以mat1
的第一行mat2
。例如,第 3 列mat1
将变为(7*3, 8*3, 9*3)=(21, 24, 27)
。在此之后,我想将第二行添加mat2
到某列中的每一行mat1
,因此第 3 列将变为(21+2, 24+2, 27+2) = (23, 26, 29)
。
解决方案
你可以试试下面的代码
t(t(mat1)*mat2[1,]+mat2[2,])
这样
> t(t(mat1)*mat2[1,]+mat2[2,])
[,1] [,2] [,3] [,4]
[1,] 3 6 23 12
[2,] 4 7 26 13
[3,] 5 8 29 14
推荐阅读
- python - 运行 while 循环后收到 ElementClickInterceptedException
- c# - asp.net mvc razor 视图中 5 个参数的元组错误
- google-cloud-platform - Google Cloud Run:rpc 错误:code = Unavailable desc = last resolver error:产生零地址
- sql - SQL 查询从具有 139 列的表中删除重复项并将所有列加载到另一个表
- python - CNN 训练时,Tensorflow 2.4.0 RAM 继续增长
- android - 退出应用程序时android WebView cookie过期
- python - Python“请求”与“urllib3”到 AWS API Gateway
- angular - Angular 中的 Firebase 实时数据库:如何添加值
- mysql - Rails 5.2 ActiveRecord 查询:.joins 和 .include 之间的区别
- python - 如何在 Python 中创建由多个对象组成的 3D 数组?