title: setdiff of rows in R
body: <p>For two dataframes <code>df.1</code> and <code>df.2</code>, I want to know the rows of <code>df.1</code> that are not in <code>df.2</code>, i.e. rows that have disappeared or changed. 
  Here is the example: </p>
  
  <pre><code>df.1 = cbind.data.frame(a = 1:4, b = 2:5, c = 99:102)
  &gt; df.1
    a b   c
  1 1 2  99
  2 2 3 100
  3 3 4 101
  4 4 5 102
  
  df.2 = cbind.data.frame(a = c(1:3,7), b = c(3,3:4,9), c=c(99:100, 102, 105))
  &gt; df.2
    a b   c
  1 1 3  99
  2 2 3 100
  3 3 4 102
  4 7 9 105
  </code></pre>
  
  <p>So here my desired output is rows 1,3 and 4 of <code>df.1</code>:</p>
  
  <pre><code>&gt; desired.output
    a b   c
  1 1 2  99
  3 3 4 101
  4 4 5 102
  </code></pre>
  
  <p>If <code>df.1</code> and <code>df.2</code> were vectors I could use <code>setdiff(df.1, df.2)</code> but I don't see an easy/elegant way to apply this to dataframes. </p>
  
  <p>Is there something more elegant than these workarounds I thought of:</p>
  
  <ul>
  <li>comparing <code>df.1</code> and <code>df.2</code> column by column and then taking the union from all columns</li>
  <li>making the dataframes a list of all of their rows, then use <code>setdiff</code> and convert back to dataframe</li>
  </ul>