R.中的一对矩阵之间执行行的DOT产品的好方法是什么

  • 本文关键字:DOT 方法 是什么 之间 执行 r matrix
  • 更新时间 :
  • 英文 :


i具有NxK矩阵x和另一个相同尺寸的矩阵,其中包含每个K特征和N组的系数。我想要一个 K矢量,其中 i -th条目是 i -th行的点乘积, x中的 i the行是系数矩阵的第三行。例如,如果x是:

x = matrix(rep(1:3,each=2),ncol=2,byrow=TRUE)

和系数矩阵是:

coeff = matrix(c(.5,1,0),nrow=3,ncol=2)

结果应该是向量(1,4,0),因为(1,1)(.5,.5)的点产物是1,因此(2,2)(1,1)的DOT乘积是4,并且(3,3)的DOT乘积使用(0,0)的DOT乘积是0。我可以想象这样做的电话要在每次迭代是点产品的指标上进行sapply,但是想知道是否有一种更好的方法使用Sweep或priends之类的内置函数。

使用*乘以两个矩阵,然后进行rowSums

rowSums(x * coeff)
[1] 1 4 0

最新更新