<div dir="ltr">Steve, <div><br></div><div>I like your suggestion a lot.  I can see putting column specification to good use. </div><div><br></div><div>As for the argument name, perhaps </div><div>   'use.columns' </div>
<div><br></div><div>And where a value of NULL or FALSE will yield same results as `unique.data.frame`</div><div><br></div><div>    use.columns=key(x)   # default behavior</div><div>    use.columns=c("col1name", "col7name")   #etc</div>
<div>    use.columns=NULL  <br></div><div>  </div><div><br></div><div>Thanks as always, </div><div>Rick</div><div class="gmail_extra"><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<div style="font-size:13px"><br></div></div></div>
<br><br><div class="gmail_quote">On Mon, Aug 12, 2013 at 1:51 PM, Steve Lianoglou <span dir="ltr"><<a href="mailto:mailinglist.honeypot@gmail.com" target="_blank">mailinglist.honeypot@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
I actually want to revisit the fix I made here.<br>
<br>
Instead of having `use.key` in the signature to unique.data.table (and<br>
duplicated.data.table) to be:<br>
<br>
function(x,<br>
             incomparables=FALSE,<br>
             tolerance=.Machine$double.eps ^ 0.5,<br>
             use.key=TRUE, ...)<br>
<br>
How about we switch out use.key for a parameter that specifies the<br>
column names to use in the uniqueness check, which defaults to key(x)<br>
to keep backwards compatibility.<br>
<br>
For argument's sake (like that?), lets call this parameter `columns`<br>
(by.columns? with.columns? whatever) so:<br>
<br>
function(x,<br>
             incomparables=FALSE,<br>
             tolerance=.Machine$double.eps ^ 0.5,<br>
             columns=key(x), ...)<br>
<br>
Then:<br>
<br>
(1) leaving it alone is the backward compatibile behavior;<br>
(2) Perhaps setting it to NULL will use all columns, and make it<br>
equivalent to unique.data.frame (also the same when x has no key); and<br>
(3) setting it to any other combo of columns uses those columns as the<br>
uniqueness key and filters the rows (only) out of x accordingly.<br>
<br>
What do you folks think? Personally I think this is better on all<br>
accounts then just specifying to use the key or not and the only<br>
question in my mind is the name of the argument -- happy to hear other<br>
world views, however, so don't be shy.<br>
<br>
Thanks,<br>
<div class="HOEnZb"><div class="h5">-steve<br>
<br>
--<br>
Steve Lianoglou<br>
Computational Biologist<br>
Bioinformatics and Computational Biology<br>
Genentech<br>
</div></div></blockquote></div><br></div></div>