2014-02-27 343 views
7

这是什么?我找不到帮助,使用?。 (对不起,因为哑)R%*%运营商

> 1%*%1 
    [,1] 
[1,] 1 
> 10%*%10 
    [,1] 
[1,] 100 
> c(1:2)%*%c(1:2) 
    [,1] 
[1,] 5 
+10

尝试把它放在引号? '%*%' – JeremyS

回答

6

这是一个矩阵乘法运算符!

the documentation

描述:

相乘两个矩阵,如果它们是适形的。如果一个参数是一个向量,它将被提升为行或列矩阵以使两个参数一致。如果两者都是相同长度的矢量,它将返回内积(作为矩阵)。

用法:

x %*% y 

参数:

xy      数字或复杂的基质或载体

5
> c(1,2,3) %*% c(4,5,6) 
    [,1] 
[1,] 32 
> c(1,2,3) * c(4,5,6) 
[1] 4 10 18 

就像MadSeb所说,它是矩阵乘法运算符。如果你给它两个向量,它将强制它们到(逻辑)1行& 1-col矩阵并且将它们相乘。

它也是两个向量之间的内部(或点​​)积,在线性代数,计算几何和其他许多应用程序中找到了广泛的用法。

http://en.wikipedia.org/wiki/Dot_product

BTW,载体必须是在同一个空间(相同的维数)

> c(1,2,3) %*% c(4,5,6,7) 
Error in c(1, 2, 3) %*% c(4, 5, 6, 7) : non-conformable arguments