R语言
matmult
位于 base
包(package)。 说明
将两个矩阵相乘(如果它们一致)。如果一个参数是向量,它将被提升为行或列矩阵以使两个参数一致。如果两者都是相同长度的向量,它将返回内积(作为矩阵)。
用法
x %*% y
参数
x , y |
数值或复数矩阵或向量。 |
细节
当向量提升为矩阵时,其名称不会提升为行或列名称,与 as.matrix
不同。
当两个选择之一允许 x
和 y
获得一致的维度时,就会将向量提升为 1 行或 1 列矩阵。
该运算符是一个通用函数:可以单独为其编写方法,也可以通过 matOps
组通用函数编写方法;它分派到 S3 和 S4 方法。需要为带有两个名为 x
和 y
的参数的函数编写方法。
值
双矩阵或复矩阵乘积。使用drop
删除只有一层的维度。
注意
NaN/Inf 值的传播、精度和矩阵乘积的性能可以通过 options("matprod")
控制。
例子
x <- 1:4
(z <- x %*% x) # scalar ("inner") product (1 x 1 matrix)
drop(z) # as scalar
y <- diag(x)
z <- matrix(1:12, ncol = 3, nrow = 4)
y %*% z
y %*% x
x %*% z
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
对于矩阵叉积,crossprod()
和 tcrossprod()
通常更可取。 matrix
、Arithmetic
、diag
。
相关用法
- R matrix 矩阵
- R match 价值匹配
- R match.arg 使用部分匹配的参数验证
- R mat.or.vec 创建矩阵或向量
- R match.call 参数匹配
- R match.fun 提取名称指定的函数
- R make.unique 使字符串唯一
- R maxCol 求矩阵中的最大位置
- R mapply 将函数应用于多个列表或向量参数
- R marginSums 计算表格边距
- R make.names 命名语法上有效的名称
- R mtfrm 匹配辅助函数
- R merge 合并两个 DataFrame
- R missing 正式论证有价值吗?
- R mode 对象的(存储)模式
- R message 诊断信息
- R mean 算术平均值
- R memlimits 查询和设置堆大小限制
- R memCompress 内存中压缩和解压缩
- R memory.profile 分析 Cons 单元的使用情况
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Matrix Multiplication。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。