将矩阵除以具有ncol =矩阵列数的向量

时间:2016-04-30 08:29:22

标签: r matrix scale

使用R时我处于两难境地。

DATA1

    [A] [B] [C]
[a]  2   3   5
[b]  3   2   4

DATA2

[c]  4   3   5

结果

    [A] [B] [C]
[a]  .5  1   1
[b] .75 .67 .8

这就是事情。我希望data1中每列的每个值除以data2中的相应值,例如将列A除以4,将列B除以3。 我希望得到一个结果与data1相同的结果。 你能救我吗?

2 个答案:

答案 0 :(得分:2)

这是sweep的作业:

sweep(data1, 2, data2, FUN="/")

     [,1]      [,2] [,3]
[1,] 0.50 1.0000000  1.0
[2,] 0.75 0.6666667  0.8

或者:

t(t(data1)/c(data2))

答案 1 :(得分:1)

我们也可以

data1/data2[col(data1)]
#        A         B   C
#[1,] 0.50 1.0000000 1.0
#[2,] 0.75 0.6666667 0.8