当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R crossprod 矩阵叉积


R语言 crossprod 位于 base 包(package)。

说明

将矩阵 xy 作为参数,返回矩阵 cross-product。这在形式上相当于(但通常比)调用 t(x) %*% y ( crossprod ) 或 x %*% t(y) ( tcrossprod )。

用法

 crossprod(x, y = NULL)
tcrossprod(x, y = NULL)

参数

x , y

数字或复数矩阵(或向量): y = NULL 被视为与 x 相同的矩阵。根据上下文,向量将提升为 single-column 或单行矩阵。

双精度或复数矩阵,适当的 dimnames 取自 xy

注意

xy 不是矩阵时,它们被视为列或行矩阵,但它们的 names 通常不会提升为 dimnames 。因此,目前,最后一个示例具有空的暗名称。

在同样的情况下,这些矩阵乘积(也%*%)在将向量提升为行或列矩阵方面更加灵活,因此允许更多情况,因为R3.2.0。

NaN/Inf 值的传播、精度和矩阵乘积的性能可以通过 options("matprod") 控制。

例子

(z <- crossprod(1:4))    # = sum(1 + 2^2 + 3^2 + 4^2)
drop(z)                  # scalar
x <- 1:4; names(x) <- letters[1:4]; x
tcrossprod(as.matrix(x)) # is
identical(tcrossprod(as.matrix(x)),
          crossprod(t(x)))
tcrossprod(x)            # no dimnames

m <- matrix(1:6, 2,3) ; v <- 1:3; v2 <- 2:1
stopifnot(identical(tcrossprod(v, m), v %*% t(m)),
          identical(tcrossprod(v, m), crossprod(v, t(m))),
          identical(crossprod(m, v2), t(m) %*% v2))

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

%*% 和外积 %o%

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Matrix Crossproduct。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。