矩阵乘法R.

时间:2016-01-15 09:51:37

标签: r matrix matrix-multiplication

我只有一个简单的问题:我有这两个矩阵

矩阵Y(264行和4列)

MyClassName.logError("Error")

矩阵E(4x4,元素e)

      [,1]      [,2]       [,3]        [,4]
1751 -1.745529 0.3692280 0.04607022 -0.07004973
1752 -1.532722 0.5642921 0.07477571  0.03380135  
1753 -1.657636 0.4660229 0.05772685 -0.03314599
1754 -1.685309 0.4540047 0.08254891 -0.01623810
1755 -1.702469 0.4483389 0.10709689 -0.03936556
1756 -1.761332 0.4505378 0.04801420 -0.06385137

我想每年做一次b(t)=Σ(e [1,i]∙Y [,i]),i从1到4。

这是我应该得到的(矩阵264x4),这是我用过的代码

       [,1]       [,2]        [,3]        [,4]
[1,] -0.8769976 -0.4706054 -0.07186508  0.06512449
[2,] -0.4085563  0.8198519 -0.40067903 -0.01951755
[3,]  0.2190770 -0.3206892 -0.86394973 -0.32055350
[4,] -0.1263415  0.0594299  0.29644997 -0.94478745

如何避免使用4条指令?

1 个答案:

答案 0 :(得分:0)

我们可以尝试

res <- lapply(seq_len(nrow(P)), function(i) Y*P[i,][col(Y)])