这个问题非常简单。它包括将矩阵的每一行除以其对应的向量数。例如。我有这个矩阵:
[3 6
9 12]
这个载体:
5,10
我想将矩阵的第一行除以向量的第一个数,将矩阵的第二行除以向量的第二个数。结果将是:
[0.6 1.2
0.9 1.2]
我在How to divide each row of a matrix by elements of a vector in R之后尝试了矩阵/向量(选项A)和矩阵/ rep(向量,每个= nrow(矩阵))(选项B)。但是,如下所示,结果不一样。
A)
[0.6 1.8
0.6 1.2]
B)
[0.6 0.9
1.2 1.2]
提前感谢您的帮助。
答案 0 :(得分:2)
您似乎想要将每列除以矢量。
a <- matrix(c(3,9,6,12), 2)
dev <- c(5,10)
a/dev
[,1] [,2]
[1,] 0.6 1.2
[2,] 0.9 1.2
此处,向量dev
通过回收扩展到a
的长度。由于a
按列存储数据,因此除法会返回将每列除以dev
的结果。