Thanks !
Ashim
On Thu, Nov 13, 2008 at 3:55 PM, Johannes Geyer <[email protected]> wrote:
>> I have a question. Where did you read that the command
>>
>> if j==1
>>
>> will be testing the FIRST observation. I don't think that it is in the
>> stata help for if. Could you point me in the right direction here.
>
> One source would also be:
> http://www.stata.com/support/faqs/lang/ifqualifier.html
>
>>cond would not be useful cos it can do ONLY 2 conditions. I want to be
>>able to use it in MANY conditions. Is there a SUPER cond which can do
>>that ?
>
> -cond- can handle more conditions, you simply include other -cond- in the
> condition
> like in
> http://www.stata.com/support/faqs/data/condition.html
>
> But I am not sure whether this helps to solve your problem.
>
> Johannes
>
>
>
>>
>>
>> Also I liked your use of the local in that way. I did not think of
>> that . Did you read that somewhere too ?
>>
>> Thank you,
>> Ashim.
>>
>> On Thu, Nov 13, 2008 at 2:10 PM, Svend Juul <[email protected]> wrote:
>> >
>> > Ashim wrote:
>> >
>> > I realize that there are 2 kinds if's in Stata.
>> >
>> > Type 1 : would be something like replace j = 2 if k==2
>> > here the replace in j would happen ONLY in the corresponding
>> > observation of k. THIS IS WHAT I WANT.
>> >
>> >
>> > Type 2 : the programming if something like
>> >
>> > local j
>> >
>> > if `j'==2 {
>> >
>> > do something.
>> >
>> > }
>> >
>> > **************************************************************
>> >
>> > I guess I want to do something which is in between the above 2.
>> >
>> > I want to say the following : --
>> >
>> > replace j=2 if k==2
>> > replace m=2 if k==2
>> > replace n=2 if k==2
>> >
>> > in ONE shot.
>> >
>> > so I try : -
>> > ************************************** Block A
>> > if k==2 {
>> > replace j=2
>> > replace m=2
>> > replace n=2
>> > }
>> > *********************************************
>> > This does not work. Because k==2 would mean k==2 in ALL observations.
>> > ...
>> >
>> > ===============================================================
>> >
>> > Actually the command -if k==2- means k==2 in the FIRST observation.
>> > In Stata terms, your type 1 -if- is a qualifier; your type 2 -if- is
>> > a command.
>> >
>> > There is probably no smart way to do what you want. In some cases
>> > you might benefit from putting the condition in a macro, like:
>> >
>> > sysuse auto.dta , clear
>> > local X "if foreign==1"
>> > replace price = 1 `X'
>> > replace weight = 2 `X'
>> >
>> > Hope this helps
>> > Svend
>> > __________________________________________
>> >
>> > Svend Juul
>> > Institut for Folkesundhed, Afdeling for Epidemiologi
>> > (Institute of Public Health, Department of Epidemiology)
>> > Vennelyst Boulevard 6
>> > DK-8000 Aarhus C, Denmark
>> > Phone: +45 8942 6090
>> > Home: +45 8693 7796
>> > Email: [email protected]
>> > __________________________________________
>> >
>> > *
>> > * 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/
>> >
>> *
>> * 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/
>
> *
> * 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/
>
*
* 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/