R中%*%的含义是什么

时间:2014-04-04 14:07:46

标签: r

我正在关注一些code,我可以应用所有内容,直到我找到命令:

s1 %*% cc1$xcoef

此行对我不起作用,我找不到文档来解释它的用途。我收到这个错误:

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

%*%做了什么,我可以使用其他功能吗?

我正在使用R版本3.0.3(2014-03-06)“温暖的小狗”

2 个答案:

答案 0 :(得分:36)

使用?'%*%'获取文档。

%*%是矩阵乘法。对于矩阵乘法,您需要m x n矩阵乘以n x p矩阵。

答案 1 :(得分:10)

矩阵乘法,请参见以下示例:

> 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