gpt4 book ai didi

r - 在 R 中将向量乘以矩阵应该返回向量

转载 作者:行者123 更新时间:2023-12-05 08:44:06 25 4
gpt4 key购买 nike

在 R 中,我想将一个 1x3 向量乘以一个 3x3 矩阵以生成一个 1x3 向量。但是 R 返回一个矩阵:

> v = c(1,1,0)
> m = matrix(c(1,2,1,3,1,1,2,2,1),nrow=3,ncol=3,byrow=T)
> v*m
[,1] [,2] [,3]
[1,] 1 2 1
[2,] 3 1 1
[3,] 0 0 0

正确的输出应该是向量,而不是矩阵

最佳答案

如有疑问,请尝试帮助系统,例如 help("*")help("Arithmetic")。您只是用错了运算符。

R> v <- c(1,1,0)
R> m <- matrix(c(1,2,1,3,1,1,2,2,1),nrow=3,ncol=3,byrow=T)
R> dim(m)
[1] 3 3
R> dim(v)
NULL
R> dim(as.vector(v))
NULL
R> dim(as.matrix(v, ncol=1))
[1] 3 1
R>
R> m %*% as.matrix(v, ncol=1)
[,1]
[1,] 3
[2,] 4
[3,] 4
R>

请注意,我们必须先将 v 转换为适当的向量。你没有说它是 1x3 还是 3x1。但幸运的是 R 很慷慨:

R> v %*% m
[,1] [,2] [,3]
[1,] 4 3 2
R> m %*% v
[,1]
[1,] 3
[2,] 4
[3,] 4
R>

关于r - 在 R 中将向量乘以矩阵应该返回向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com