Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Phil Schumm <pschumm@uchicago.edu> |
To | Statalist Statalist <statalist@hsphsun2.harvard.edu> |
Subject | Re: st: inlist() equivalent for mata? |
Date | Thu, 20 Mar 2014 20:09:46 -0500 |
On Mar 20, 2014, at 4:42 PM, Andrew Maurer <Andrew.Maurer@qrm.com> wrote: > So with Bsize of 1 billion and Lsize of 100,000, it would effectively do a loop of 1 billion iterations over 100,000 elements. In your original post, you said that "T >> N", where T is the length of list L, and N is the length of list B. This would appear to be the opposite of what you wrote above. > I still think that there should be a more efficient way to do this than the array method posted. The fastest (and simplest) option is to use -anyof()-, e.g., real colvector inlist_anyof(real colvector B, real colvector L) { real scalar i real colvector R R = J(rows(B),1,0) for (i=1; i<=rows(B); i++) { if (anyof(L, B[i])) R[i] = 1 } return(R) } -- Phil * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/