根据另一个data.frame替换data.frame中的数值

时间:2014-01-14 17:02:22

标签: r dataframe

我有两个看起来像这样的data.frame:

DF1    
Col1    Col2    Col3    Col4      
 3       -2      -1       4     
 55      45     -23      98     
 12      43     123      23      



DF2     
Col1    Col2    Col3    Col4           
  1      0       0       0     
  1      1       1       0     
  1      0       1       1          

我需要以下输出:

DF3   
Col1    Col2    Col3    Col4      
 3       0       0       0     
 55      45     -23      0     
 12      0      123      23      

换句话说,我需要根据DF2用DF1中的0值替换数值。

PS:每个DF包含数千个行和列。

1 个答案:

答案 0 :(得分:1)

as.matrix(DF1) * as.matrix(DF2)

但我甚至不认为as.matrix()是必要的。只需DF1 * DF2即可。这有效的原因是因为*是每个相应组件的乘法。这与典型的矩阵乘法%*%

不同