title: Different cells between two data frames
body: <p>I need differences between two data frames. setdiff() gives me modyfied and new rows. But it shows a whole modified row, but I want only different cells. How to do this? I assume the number of columns is the same.</p>
  <p>Input data:</p>
  <pre><code>df1 &lt;- data.frame(ID = c(1, 2, 3),
                    A = c(1, 2, 3),
                    B = c(1, 2, NA))
  df2 &lt;- data.frame(ID = c(1, 2, 3, 4),
                    A = c(1, 2, 3, 4),
                    B = c(1, 2, 3, NA))
  
  newdata = setdiff(df2,df1) # don't give results as my expectation
  </code></pre>
  <p>As a result it should be such dataframe:</p>
  <pre><code>result &lt;- data.frame(ID = c(3, 4),
                       A = c(NA, 4),
                      B = c(3, NA))
  </code></pre>
  <p>Column ID should be preserved and always should contain value.</p>
  <p>Summary:</p>
  <ol>
  <li>Output should contain only new, or modified rows from df2.</li>
  <li>In modified rows should be displayed only modified or new cells.</li>
  <li>Values in ID column should be displayed even they are not modified.</li>
  </ol>
  <p>compare, compare_df? How to do this?</p>