Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Problem with wildcards


From   daniel klein <[email protected]>
To   [email protected]
Subject   Re: st: Problem with wildcards
Date   Tue, 5 Mar 2013 00:49:04 +0100

Lisa,

the obvious difference is, that -egen- is one line to type, while my
approach involves three lines of code.

I would prefer an -egen- solution in a do-file, though I think I would
rely on -anymatch()- rather than -rowax()-, which might be even more
intuitive to understand.

Programming an ado-file, I am rather reluctant to use -egen-, because
despite being powerful, it is interpreted code (I know, so is -unab-)
and therefore tends to execute slow(er). You would not notice the
difference probably, and if so it would probably be a matter of less
than a second, so this might be a rather weak argument.

The main point of my approach is to show (or remind you of) more
general concepts, like (extended) functions. These concepts might look
clumsy for your specific problem (and they probably are), but they
proof to be very helpful in many other situations. One example is the
"inverse" use of -inlist()-, that I first learned from Nick Cox
(http://www.stata.com/statalist/archive/2011-04/msg00618.html), and
have used a lot ever since.

Best
Daniel
-- 
Thank you, Dimitriy and Daniel.

I'd be very interested in understanding the
differences/benefits/drawbacks between these two approaches, if
someone could explain them to me.

*off to read about rowmax and rowtotal*,
Lisa

On Mon, Mar 4, 2013 at 4:48 PM, Dimitriy V. Masterov <[email protected]> wrote:
You could use egen (extended generate) to do this:

egen anypsych = rowmax(psych1 - psych42)

AND

On Mon, Mar 4, 2013 at 6:01 PM, daniel klein <[email protected]> wrote:
> Here is my approach.
>
> unab psych : psych1-psych42
> loc psych : subinstr loc psych " " ", " ,all
> g byte anypsych = inlist(1, `psych')
*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index