按R中的向量除以行

时间:2014-03-31 15:14:16

标签: r vector row division

这个问题非常简单。它包括将矩阵的每一行除以其对应的向量数。例如。我有这个矩阵:

[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]

提前感谢您的帮助。

1 个答案:

答案 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的结果。