2017-02-27 4 views
0

申し訳ありませんが単純な質問ですが、私はいくつかのNAといくつかの値が35に等しい200行と69列のdata.frame(df1) (df2)は200行で、1列はNAなし。私はdf1のすべての列にdf2を合算し、NAであればNAを残し、df1で35であれば35を合計したいと思います。たとえば、次のようにいくつかの値を無視してdata.framesの合計

df1  
Col1  Col2  Col3  
    5  35  21  
NA  4   12  
35  1   NA  
....  ....  ...... 

df1  
Estimates  
    5  
    1  
    9  
...  

所望の出力:

df1  
Col1  Col2  Col3  
10  35  26  
NA  5   13  
35  10  NA  
....  ....  ...... 

誰も私を助けてくださいことはできますか?事前に

おかげ

+0

'DF1 [] < - lapply(' + \ '\ DF1、DF2の$推定値)'または行列を使用: 'データを。フレーム(as.matrix(df1)+ df2 $ Estimates) ' – alistaire

+0

'col2'では35から40(35 + 5)に変更しました... – Sotos

+0

間違いを申し訳ありません! – Bfu38

答えて

2

一つの進むべき道、

#create logical matrix of df1 == 35 
m1 <- df1 == 35 

df1[] <- lapply(df1, function(i) i+df2$Estimates) 
df1[m1] <- 35 
df1 
# Col1 Col2 Col3 
#1 10 35 26 
#2 NA 5 13 
#3 35 10 NA 
関連する問題