R中的标量乘法

3 r matrix

我正在尝试在R中执行简单的标量乘法,但我遇到了一些问题.

在线性代数中,我会做以下事情:

标量乘法

以下是我在R中实现的方法:

A <- matrix(1:4, 2, byrow = TRUE)
c <- matrix(rep(3, 4), 2)
A * c
Run Code Online (Sandbox Code Playgroud)

这产生了正确的输出,但是当涉及更大的矩阵时,创建标量矩阵c将是麻烦的.

有一个更好的方法吗?

Han*_*man 10

R默认情况下是标量.用于矩阵乘法%*%.t是转置,solve会给你反转.这里有些例子:

a = matrix(1:4,2,2)
3 * a
c(1:2) %*% a
c(1:2) %*% t(a)
solve(a)
Run Code Online (Sandbox Code Playgroud)

这是一个链接:R中的矩阵代数


小智 6

使用该函数drop()将 1x1 变量矩阵转换为“实数”标量。所以你可以写drop(c)*A,你不需要c用值本身替换。