r - R中的矩阵乘法和加法

标签 r matrix operators

也许我在搜索中没有使用正确的术语,但我想知道是否有人可以指出一种简单的方法来执行以下操作:

我有两个矩阵:

mat1 = matrix(1:12, 3)
mat2 = matrix(c(1, 2, 1, 2, 3, 2, 1, 2), 2, 4)

我想将 mat1 的某一列中的每一行乘以 mat2 的第一行。例如,mat1 的第 3 列将变为 (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

关于r - R中的矩阵乘法和加法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61784363/

相关文章:

language-agnostic - 什么是按位移位(bit-shift)运算符以及它们如何工作?

c++ - 特殊值不能用作 unordered_map 中的键

r - 如何将数据框中的字符串拆分为多列

python - 如何在 OSX High Sierra 中正确设置网状包的 Python 路径?

Javascript/jQuery 如何从矩阵值中获取比例值

r - R中的性能:在矩阵中对行的元素进行排序的最快方法是什么?

algorithm - 在 N 维矩阵中找到大于 x 的值,其中 x 是索引之和

c - 当我们任意使用 == 时会发生什么?

r - ggplot2 geom_pointrange 中各个方面的不同颜色值,带有显着性注释

c++ - 为什么 << 运算符会用 cout 截断字符?