gpt4 book ai didi

r - 将矩阵的每一行乘以 r 中的向量的好方法

转载 作者:行者123 更新时间:2023-12-04 12:05:53 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Multiply rows of matrix by vector?

(6 个回答)


8年前关闭。




我知道这是一个非常基本的问题,抱歉。

我想将矩阵的每一行乘以一个向量。所以我有:

mat=matrix(1,2,4)
vec=c(1,2,3,4)

#works but ugly:
new.mat=mat
for(i in 1:nrow(mat)){
new.mat[i,]=mat[i,]*vec
}

我以为我已经找到了“申请”的答案,但我无法以同样的方式工作。

最佳答案

我想这就是你要找的...

t( t(mat) * vec )
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 1 2 3 4
*像 R 中的大多数其他运算符一样,是矢量化的。 t是必要的,因为 R 将按列循环。 apply解决办法是:
t( apply( mat , 1 , `*` , vec ) )
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 1 2 3 4

关于r - 将矩阵的每一行乘以 r 中的向量的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727827/

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