r - 在R中是否可以按以下方式将两个向量或矩阵与向量相乘?

标签 r vector sum matrix-multiplication

A = 1:5
B = 11:15

我知道 A %*% B 会给出,AB = [205] 即 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

后续:这解决了上述问题 sum((A*B)^2) 正如 @Dason 和 @nicola 所建议的。

现在,如果 A 是矩阵,即 A =matrix(1:10,2,5) ,需要做什么 经过尝试后,我发现这个有效: rowSums((A %*% diag(B))^2)

最佳答案

虽然没有直接执行此操作的运算符/函数,但很容易将它们链接在一起以获得您想要的结果而无需循环。

sum((A*B)^2)

关于r - 在R中是否可以按以下方式将两个向量或矩阵与向量相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47392840/

相关文章:

regex - 仅当两者都存在时才从字符串的开头和结尾删除引号

pointers - 在 Rust 中,修改借用的指针会改变原始值吗?

python - 从多列python中查找

python - 添加列表元素

python - 总结类实例

r - 如何使用 R/exams 包生成包含随机生成的单选答案的考试?

R 中的 reshape 与 reshape2

r - 使用 ggmap 绘制 OpenStreetMap

c++ - 如何从原始数据加载 devIL 图像

r - 计算 r 中多个向量中 NA 的出现次数