2014-04-04 309 views
4

我下面一些code,我可以申請的一切,直到我得到的命令:什麼%*%意味着R中

s1 %*% cc1$xcoef 

此行不爲我工作,我無法找到文檔解釋它的目的。我得到這個錯誤:

Error in s1 %*% cc1$xcoef : non-conformable arguments 

%*%做什麼,我可以使用另一個功能?

我,使用R版本3.0.3(2014年3月6日), 「溫暖的小狗」

+3

看看['?「%*%」'](http://stat.ethz.ch/R-manual/R-patched/library/base/html/ma tmult.html)來閱讀幫助文件。 –

+0

謝謝我在使用時忘記了引號? – kungphil

回答

16

使用?'%*%'得到的文檔。

%*%是矩陣乘法。對於矩陣乘法,您需要一個m x n矩陣乘以n x p矩陣。

+1

你的答案告訴我,我可以在'?'後面用引號來查找R中其他算術運算符的文檔,比如'?「%%」。 – coip

4

矩陣乘法,請看下面的例子:

> A <- matrix (c(1,3,4, 5,8,9, 1,3,3), 3,3) 
> A 
    [,1] [,2] [,3] 
[1,] 1 5 1 
[2,] 3 8 3 
[3,] 4 9 3 
> 
> B <- matrix (c(2,4,5, 8,9,2, 3,4,5), 3,3) 
> 
> B 
    [,1] [,2] [,3] 
[1,] 2 8 3 
[2,] 4 9 4 
[3,] 5 2 5 
> 
> 
> A %*% B 
    [,1] [,2] [,3] 
[1,] 27 55 28 
[2,] 53 102 56 
[3,] 59 119 63 

> B %*% A 
    [,1] [,2] [,3] 
[1,] 38 101 35 
[2,] 47 128 43 
[3,] 31 86 26 

另見:

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

如果不遵循矩陣規則的大小,你將得到錯誤:

> A <- matrix(c(1,2,3,4,5,6), 3,2) 
    > A 
    [,1] [,2] 
[1,] 1 4 
[2,] 2 5 
[3,] 3 6 

> B <- matrix (c(3,1,3,4,4,4,4,4,3), 3,3) 

> B 
     [,1] [,2] [,3] 
    [1,] 3 4 4 
    [2,] 1 4 4 
    [3,] 3 4 3 
    > A%*%B 
    Error in A %*% B : non-conformable arguments