2
> 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就可以了)

4

1 回答 1

5

简单:做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确实是一种矢量化语言。

于 2013-08-04T21:13:33.790 回答