【发布时间】:2018-05-03 17:18:12
【问题描述】:
A = 1:5
B = 11:15
我知道A %*% B 会给,AB = [205] i.e. 1*11+2*12+3*13+4*14+5*15 =205
但是,我希望 AB 成为(如果可能,不通过循环)= (1*11)^2+(2*12)^2+(3*13)^2+(4*14)+(5*15)^2=10979
跟进:这解决了@Dason 和@nicola 建议的上述问题sum((A*B)^2)。
如果 A 是矩阵,即A =matrix(1:10,2,5),现在需要做什么
在玩了之后我发现这个作品:rowSums((A %*% diag(B))^2)
【问题讨论】:
-
可能是
sum((A*B)^2)? -
附带说明...您用来写出数据的符号显然不是 R。如果您要问 R 问题,您应该努力做到这一点在 R 中很容易重现。
-
同意。我通常在提问时这样做,但我错过了这个问题的那部分。
-
而且您现在仍然可以修改问题,以便以后其他人受益。 reprex 包可能有助于您轻松准备可重现的示例:reprex.tidyverse.org
标签: r vector sum matrix-multiplication