Thanks, that is much faster.  I don't quite understand it, but that's OK for now.<div><br></div><div>Thanks again,</div><div><br></div><div>Matthew</div><div><br></div><div><br><br><div class="gmail_quote">On Sat, Feb 25, 2012 at 9:00 PM, Matthew Dowle <span dir="ltr"><<a href="mailto:mdowle@mdowle.plus.com">mdowle@mdowle.plus.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi. There have been thoughts of adding .I for that. In the meantime<br>
something like this should be faster:<br>
DT[DT[,X1==max(X1),by='x,y,z'][[4]]]<br>
<div><div class="h5"><br>
> I  know that we shouldn't subset .SD, but I would like to return the row<br>
> from each group that corresponds to a max value in one of the columns.<br>
>  Here's how I'm doing it currently:<br>
><br>
> maxrows<- df.dt[, .SD[which(X1== max(X1)),], by = list(Var1, Var2, Var3)]<br>
><br>
> Is there a better way?<br>
><br>
> Thank you kindly,<br>
><br>
> Matthew<br>
</div></div>> _______________________________________________<br>
> datatable-help mailing list<br>
> <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>
> <a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help</a><br>
<br>
<br>
</blockquote></div><br></div>