title: Filling in multiple columns of missing data from another dataset
body: <p>I have a data set that contains some missing values which can be completed by merging with a another dataset. My example:</p>
  <p>This is the updated data set I am working with.</p>
  <pre><code>DF1
  
  Name Paper     Book       Mug        soap   computer tablet coffee coupons
  1   2           3           4         5      6          7    8      9
  2   21          22         23         23    23          7    23     9
  3   56          57         58         59    60          7    62     9
  4   80.33333    81.33333    82.33333  83    83.66667    7    85     9
  5   107.3333    108.3333    109.3333 110    110.6667    7   112     9
  6   134.3333    135.3333    136.3333 137    137.6667    7   139     9
  7   161.3333    162.3333    163.3333 164    164.6667            
  8   188.3333    189.3333    190.3333 191    191.6667    7   193     9
  9   215.3333    216.3333    217.3333 218    218.6667    7   220     9
  10  242.3333    243.3333    244.3333 245    245.6667    7   247     9
  11  269.3333    270.3333    271.3333 272    272.6667    7   274     9
  12  296.3333    297.3333    298.3333 299    299.6667            
  13  323.3333    324.3333    325.3333 326    326.6667    7   328     9
  14  350.3333    351.3333    352.3333 353    353.6667    7   355     9
  15  377.3333    378.3333    379.3333 380    380.6667            
  16  404.3333    405.3333    406.3333 407    407.6667    7   409     9
  17  431.3333    432.3333    433.3333 434    434.6667    7   436     9
  18  458.3333    459.3333    460.3333 461    461.6667    7   463     9
  19  485.3333    486.3333    487.3333 488    488.6667            
  
  
  
  DF2
  Name    Paper   Book    Mug soap    computer    tablet  coffee  coupons
  7   161.3333    162.3333    163.3333    164 164.6667    6   6   6
  12  296.3333    297.3333    298.3333    299 299.6667    88  96  25
  15  377.3333    378.3333    379.3333    380 380.6667    88  62  25
  19  485.3333    486.3333    487.3333    488 488.6667    88  88  78
  </code></pre>
  <p>I want to get:</p>
  <pre><code>Name Paper     Book       Mug        soap   computer tablet coffee coupons
  1   2           3           4         5      6          7    8      9
  2   21          22         23         23    23          7    23     9
  3   56          57         58         59    60          7    62     9
  4   80.33333    81.33333    82.33333  83    83.66667    7    85     9
  5   107.3333    108.3333    109.3333 110    110.6667    7   112     9
  6   134.3333    135.3333    136.3333 137    137.6667    7   139     9
  7   161.3333    162.3333    163.3333 164    164.6667    6   6       6
  8   188.3333    189.3333    190.3333 191    191.6667    7   193     9
  9   215.3333    216.3333    217.3333 218    218.6667    7   220     9
  10  242.3333    243.3333    244.3333 245    245.6667    7   247     9
  11  269.3333    270.3333    271.3333 272    272.6667    7   274     9
  12  296.3333    297.3333    298.3333 299    299.6667    88  96      25      
  13  323.3333    324.3333    325.3333 326    326.6667    7   328     9
  14  350.3333    351.3333    352.3333 353    353.6667    7   355     9
  15  377.3333    378.3333    379.3333 380    380.6667    88   62     25      
  16  404.3333    405.3333    406.3333 407    407.6667    7   409     9
  17  431.3333    432.3333    433.3333 434    434.6667    7   436     9
  18  458.3333    459.3333    460.3333 461    461.6667    7   463     9
  19  485.3333    486.3333    487.3333 488    488.6667    88  88      78
  </code></pre>
  <p>I have tried the following code:</p>
  <pre><code>DF1[,c(4:6)][is.na(DF1[,c(4:6)]&lt;-DF2[,c(2:4)][match(DF1[,1],DF2[,1])] 
  [which(is.na(DF1[,c(4:6)]))]
  </code></pre>
  <p>One of the solutions using dplyr will work, if I omit the columns which are already complete. Not sure if it my version of dplyr, which I have updated last week.</p>
  <p>Any help is greatly appreciated! Thanks!</p>