title: How to get IDs of rows, that are identical in some columns but have NAs in others
body: <p>I have a data frame with some rows, that are the same in some columns, and should be identical, but are instead filled with <code>NA</code>.</p>
  
  <p>Example:</p>
  
  <pre><code>     ID   NAME   SURNAME      value1     value2
  1     1  Luke Skywalker            1         3 
  2     2  Luke Skywalker            NA        NA
  3     3  Luke Skywalker            NA        NA
  4     6   Han      Solo            NA        NA
  5     7   Han      Solo            5         5 
  6     8   Han      Solo            4         NA
  </code></pre>
  
  <p>In reality, this is a big dataset and there are more than just two values.</p>
  
  <p>I would like get a vector of <code>ID</code>of the rows, that have the same <code>Name</code>and <code>Surname</code>, but have have <code>NA</code> values in columns, where the column with the same name and surname has actual values. If there is a case, where there is mixed data (as is the case here with <code>Han</code>), I would like to just get the <code>ID</code> of the row, that has only <code>NA</code>data, except if there is a full row with values, that are the same as the ones in the incomplete row, then I would also like to get the <code>ID</code> of the incomplete one.</p>
  
  <p>So the return from my example would be <code>c(2,3,6)</code></p>
  
  <p><strong>Edit:</strong> As asked in the question, the names and surnames are important, as I would only like to get the <code>ID</code> if and only if there is a full or more complete row for that name surname combination. The variables are actually the results of test, that should happen only once per year (in my df, I will also group by the testing date, I skipped that here as the grouping variables should have no influence on the solution, as far as I know).</p>