这是什么?我无法通过使用找到帮助?
.(抱歉愚蠢)
> 1%*%1
[,1]
[1,] 1
> 10%*%10
[,1]
[1,] 100
> c(1:2)%*%c(1:2)
[,1]
[1,] 5
Run Code Online (Sandbox Code Playgroud)
Mad*_*Seb 16
这是一个矩阵乘法运算符!
从文档:
描述:
如果它们是一致的,则将两个矩阵相乘.如果一个参数是一个向量,它将被提升为行或列矩阵,以使两个参数一致.如果两者都是相同长度的向量,它将返回内积(作为矩阵).
用法:
Run Code Online (Sandbox Code Playgroud)x %*% y
参数:
x
,y
数字或复数矩阵或向量
> c(1,2,3) %*% c(4,5,6)
[,1]
[1,] 32
> c(1,2,3) * c(4,5,6)
[1] 4 10 18
Run Code Online (Sandbox Code Playgroud)
就像MadSeb所说的那样,它是矩阵乘法运算符.如果给它两个向量,它会将它们强制转换为(逻辑)1行和1-col矩阵并将它们相乘.
它也是两个向量之间的内部(或点)产品,在线性代数,计算几何和许多其他应用中得到广泛应用.
http://en.wikipedia.org/wiki/Dot_product
顺便说一句,矢量必须在相同的空间(相同的维数)
> c(1,2,3) %*% c(4,5,6,7)
Error in c(1, 2, 3) %*% c(4, 5, 6, 7) : non-conformable arguments
Run Code Online (Sandbox Code Playgroud)
%*%
我创建了一个问题“ R 中运算符背后的计算是什么?” 它被标记为这个问题的重复项。该%*%
运算符用于将两个矩阵相乘。我没有意识到“矩阵乘法”是一种既定的代数方法,因此学习基础计算很有用,但这里的其他答案尚未明确描述。从重复问题中的评论传递有用的链接
https://en.m.wikipedia.org/wiki/Matrix_multiplication#Definition
http://matrixmultiplication.xyz/