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: Listing var1 if var* equals X


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: Listing var1 if var* equals X
Date   Tue, 31 Jan 2012 13:57:21 +0000

What you are doing wrong is that wildcards indicating varlists are not
allowed in expressions.

Also, you must use == not = to test for equality.

You could try this

... if inlist(X2, hospital1, hospital2, hospital3)

but there are limits on the number of arguments allowed.

Next up in complexity is to use -egen, anymatch()- to create an
indicator for use with integer codes.

If your code is string and you have lots of hospitals, if you do not
map to integers you may need to do something more like

gen OK = 0

qui foreach v of var hospital* {
     replace OK = 1 if `v' == "X2"
}

list ... if OK

Also, the Seventh Law of Stata is that most things are easier with a
long structure than with a wide structure.

Nick

On Tue, Jan 31, 2012 at 1:32 PM, Lars Folkestad
<[email protected]> wrote:
> Dear List
>
> I am sure there is a quick fix for this, but i have my data in a wide format and have the following data
>
> Id hospital1 hospital2 hospital3 … hospitalN
>
> I would like to list the id if any of the hospital* equals a given code fx X2
>
> I have tried
> . list id if hospital* = X2
> But that dos not work.
>
> What am i doing wrong?

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


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