如何计算两个数据帧的元素商?

时间:2013-08-04 21:11:18

标签: r dataframe

> A <- data.frame(x = c(1,2,3), y = c(4,5,6), z = c(7,8,9))
> B <- data.frame(x = c(1,1,1), y = c(2,2,2), z = c(3,3,3))
> A
  x y z
1 1 4 7
2 2 5 8
3 3 6 9
> B
  x y z
1 1 2 3
2 1 2 3
3 1 2 3

我想要做的是计算一个新的数据框C,其定义为:

C[i,j] := A[i,j] / B[i,j]

对于所有坐标i,j都可能。

是否有干净且快速的方式来实现而无需借助循环而无需引用单个列或行

(data.table的应用,plyr很好)

1 个答案:

答案 0 :(得分:4)

简单:做A/B

R> C <- A/B
R> C
  x   y       z
1 1 2.0 2.33333
2 2 2.5 2.66667
3 3 3.0 3.00000
R> 

R 真的是一种矢量化语言。