[datatable-help] How to do binary search on integer key?

Yi Yuan lambandme at gmail.com
Fri Mar 8 06:48:08 CET 2013


I tried

table[list(645)]

table[.(645)]

table[J(45)]

they're all returning 78 records when in fact there should only be 18
records related to key 645. However if I use table[id==645,], I get the
right result.

On Fri, Mar 8, 2013 at 12:42 AM, Michael Nelson <
michael.nelson at sydney.edu.au> wrote:

>  you just need to wrap the values in `list()` or  `.()
>
>
>  eg
>
>  table[list(645)]
>
>  table[.(645)]
>  ------------------------------
> *From:* datatable-help-bounces at lists.r-forge.r-project.org [
> datatable-help-bounces at lists.r-forge.r-project.org] on behalf of Yi Yuan [
> lambandme at gmail.com]
> *Sent:* Friday, 8 March 2013 4:25 PM
> *To:* datatable-help at lists.r-forge.r-project.org
> *Subject:* [datatable-help] How to do binary search on integer key?
>
>   Hi, all:
> I know someone has asked exactly the same question and there's even an
> answer. But I think the answer is wrong. Following is the url of that
> question
> http://r.789695.n4.nabble.com/Binary-search-with-integer-key-td3705686.html
>
>  so if the key is integer and I would like to select all records where
> the key=654, how do I do that?
>  suppose the data table is named table, key variable's name is id
>
>  I know you can do it by writing: table[id==645,], but R will conduct
> vector search this way and is a lot slower than binary search.
>
>  So how can I do binary search on integer key??
>
>  Thanks!!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20130308/0ce2910c/attachment.html>


More information about the datatable-help mailing list