2013-08-04 65 views
1
> 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

簡單:做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 真的是一個向量化的語言。

+0

有多麼尷尬......那其實是真的。我以爲我已經嘗試過了。不管怎麼說,還是要謝謝你 ;) – Raffael

相關問題