<a href="http://en.wiktionary.org/wiki/oy_gevalt">Oy gevalt</a>!.Am I correct to believe that the technique is rearranging the data.table so that J can accept the input as pertaining to a secondary key? That seems as if it is too much work for me and my computer. I will rather stick to the vector scan methods for now.<div>

<br></div><div><br clear="all">Farrel<br><br>
<br><br><div class="gmail_quote">On Thu, Jan 19, 2012 at 00:23, Steve Lianoglou <span dir="ltr">&lt;<a href="mailto:mailinglist.honeypot@gmail.com">mailinglist.honeypot@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi,<br>
<br>
Just to redo the example Matthew is pointing to, I&#39;ll put it here.<br>
<br>
Note that the current answer is that there is no &quot;neat&quot; way to do it<br>
just, and it takes some intermediary steps for you to get what you<br>
want. Here this amounts to creating the `idx` table w/ the keys<br>
swapped and an `i` column.<br>
<br>
There is a feature request to make it neater:<br>
<a href="https://r-forge.r-project.org/tracker/index.php?func=detail&amp;aid=1007&amp;group_id=240&amp;atid=978" target="_blank">https://r-forge.r-project.org/tracker/index.php?func=detail&amp;aid=1007&amp;group_id=240&amp;atid=978</a><br>


<br>
here&#39;s an example:<br>
<br>
R&gt; dt &lt;- data.table(a=c(&#39;a&#39;,&#39;a&#39;,&#39;a&#39;,&#39;a&#39;,&#39;b&#39;,&#39;b&#39;,&#39;b&#39;,&#39;b&#39;),<br>
b=c(&#39;a&#39;,&#39;b&#39;,&#39;a&#39;,&#39;b&#39;,&#39;a&#39;,&#39;b&#39;,&#39;b&#39;,&#39;a&#39;),c=1:8,key=c(&#39;a&#39;,&#39;b&#39;))<br>
R&gt; dt<br>
     a b c<br>
[1,] a a 1<br>
[2,] a a 3<br>
[3,] a b 2<br>
[4,] a b 4<br>
[5,] b a 5<br>
[6,] b a 8<br>
[7,] b b 6<br>
[8,] b b 7<br>
<br>
R&gt; idx &lt;- dt[,list(b, a, i=1:nrow(dt))]<br>
R&gt; key(idx) &lt;- c(&#39;b&#39;,&#39;a&#39;)<br>
<br>
Now let&#39;s grab all rows from `dt` where the secondary key == &#39;b&#39;<br>
<br>
R&gt; dt[ idx[J(&quot;b&quot;), i]$i ]<br>
     a b c<br>
[1,] a b 2<br>
[2,] a b 4<br>
[3,] b b 6<br>
[4,] b b 7<br>
<br>
HTH,<br>
-steve<br>
<div class="HOEnZb"><div class="h5"><br>
On Wed, Jan 18, 2012 at 11:42 PM, Matthew Dowle &lt;<a href="mailto:mdowle@mdowle.plus.com">mdowle@mdowle.plus.com</a>&gt; wrote:<br>
&gt; I find Nabble is better for searching the archive. It seems to be<br>
&gt; optimised for discussion list search.  Link on homepage, &#39;secondary&#39; into<br>
&gt; search box, and e.g. thread &quot; Select from second key but not first&quot;.<br>
&gt;<br>
&gt;&gt; Dear Matthew<br>
&gt;&gt;<br>
&gt;&gt; Thank you for trying to guide me. Unfortunately I was not able to really<br>
&gt;&gt; comprehend what I was reading<br>
&gt;&gt;<br>
&gt;&gt; I entered the following into google search &quot;site:<br>
&gt;&gt; <a href="http://lists.r-forge.r-project.org/pipermail/datatable-help/" target="_blank">lists.r-forge.r-project.org/pipermail/datatable-help/</a> secondary&quot;<br>
&gt;&gt;<br>
&gt;&gt; I got many hits and I could see a discussion but could not fathom how it<br>
&gt;&gt; related to my question.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Would love some help from you or someone else. I want to be able to select<br>
&gt;&gt; by a criterion in the second key and accept all possible values in the<br>
&gt;&gt; first key.<br>
&gt;&gt; Farrel Buchinsky<br>
&gt;&gt; Google Voice Tel: <a href="tel:%28412%29%20567-7870" value="+14125677870">(412) 567-7870</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Jan 18, 2012 at 22:40, Matthew Dowle &lt;<a href="mailto:mdowle@mdowle.plus.com">mdowle@mdowle.plus.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Hi. Try searching datatable-help for &#39;secondary&#39;.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; In setkey it is possible to have multiple columns be a key. There is<br>
&gt;&gt;&gt; &gt; however an order to it. To select all the rows by a particular value<br>
&gt;&gt;&gt; in<br>
&gt;&gt;&gt; &gt; the<br>
&gt;&gt;&gt; &gt; first key is easy<br>
&gt;&gt;&gt; &gt; DT[J(&quot;a value from the first key&quot;)]<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; It is even quite easy to select by an AND criteria that incorporates<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt; &gt; second key<br>
&gt;&gt;&gt; &gt; DT[J(&quot;a value from the first key&quot;,&quot;a value from the second key&quot;)]<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; But what happens if one wanted to select by only one criteria being a<br>
&gt;&gt;&gt; a<br>
&gt;&gt;&gt; &gt; value that must be present in the second key? I was hoping to get<br>
&gt;&gt;&gt; lucky<br>
&gt;&gt;&gt; by<br>
&gt;&gt;&gt; &gt; just leaving it blank. But it did not see to work.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; DT[J(,&quot;a value from the second key&quot;)]<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I would love to know what you do.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Farrel<br>
&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt; &gt; datatable-help mailing list<br>
&gt;&gt;&gt; &gt; <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; <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>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; datatable-help mailing list<br>
&gt; <a href="mailto:datatable-help@lists.r-forge.r-project.org">datatable-help@lists.r-forge.r-project.org</a><br>
&gt; <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>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Steve Lianoglou<br>
Graduate Student: Computational Systems Biology<br>
 | Memorial Sloan-Kettering Cancer Center<br>
 | Weill Medical College of Cornell University<br>
Contact Info: <a href="http://cbio.mskcc.org/~lianos/contact" target="_blank">http://cbio.mskcc.org/~lianos/contact</a><br>
</font></span></blockquote></div><br></div>