> 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很好)
答案 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 真的是一种矢量化语言。