data.frames的总和忽略了一些值

时间:2017-02-27 15:32:13

标签: r

抱歉这个简单的问题,但我有一个data.frame(df1),例如200行和69列,有些NA和一些值等于35,另一个“data.frame”(df2)有200行和1没有NA的列。我想将df2加到df1的每一列,当它是NA时留下NA,当df1中的条目是35时,得到35。例如:

 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       
....      ....      ......

有人能帮帮我吗?

提前致谢

1 个答案:

答案 0 :(得分: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