<div dir="ltr">One idiom for testing group-level conditions is:<div><br></div><div><font face="monospace, monospace">data[, if (mean(x) < 10) .SD, by=g]<br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">This might be slower in the special case of taking a mean. See </font><font face="monospace, monospace">?GForce</font><font face="arial, helvetica, sans-serif">.</font></div><div><br></div><div>There's a request for an idiom like SQL HAVING over here: <a href="https://github.com/Rdatatable/data.table/issues/788">https://github.com/Rdatatable/data.table/issues/788</a></div><div><br></div><div>--Frank</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 16, 2017 at 4:44 PM, Bernstein, Elliot J <span dir="ltr"><<a href="mailto:EJBernstein@wellington.com" target="_blank">EJBernstein@wellington.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-8606139073077896951WordSection1">
<p class="MsoNormal">Is there a way to subset a data table by the result of a grouped aggregation without adding an interim column to the table? For example, if I want to select all rows for which the group mean value of x is less than 10, I can do the following:<u></u><u></u></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">data <- data.table(x = 1:20, g = rep(c("a", "b"), each = 10))<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">data[, mean.x := mean(x), by = .(g)]<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">data[mean.x < 10,]<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But I’m not really interested in “mean.x”. Can I do the same thing without adding it to the table?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks.<span class="HOEnZb"><font color="#888888"><u></u><u></u></font></span></p><span class="HOEnZb"><font color="#888888">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">- Elliot<span style="font-size:10.0pt;color:black;background:white"><u></u><u></u></span></p>
</font></span></div>
</div>

<br>______________________________<wbr>_________________<br>
datatable-help mailing list<br>
<a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.<wbr>r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help" rel="noreferrer" target="_blank">https://lists.r-forge.r-<wbr>project.org/cgi-bin/mailman/<wbr>listinfo/datatable-help</a><br></blockquote></div><br></div>