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]

SV: st: scalar do not allow -if-


From   Tomas Lind <[email protected]>
To   "[email protected]" <[email protected]>
Subject   SV: st: scalar do not allow -if-
Date   Wed, 17 Nov 2010 17:28:37 +0100

Thanks Nick, Scott and Maarten,

Many thanks for helpful code and helpful comments and explanations. 

/Tomas



-----Ursprungligt meddelande-----
Från: [email protected] [mailto:[email protected]] För Maarten buis
Skickat: den 17 november 2010 17:17
Till: [email protected]
Ämne: Re: st: scalar do not allow -if-

--- On Wed, 17/11/10, Tomas Lind wrote:
> Now I want to calculate "hig" (in the
> bottom of the loop) and save it in the dataset with aggregated data 
> (where w1, w2, w3 are -scalars-).
> 
> scalar hig = 1  if (w1 > w2) & (w1 > w3) scalar hig = 2  if (w2 > w1) 
> & (w2 > w3) scalar hig = 3  if (w3 > w1) & (w3 > w1)
> 
> However, -if- is not allowed in combination with -scalar-.


-if- after a command is supposed to work on the dataset, i.e. the result is a vector of trues and falses, one for each observation in the dataset. This is why -scalar- cannot handle it: it needs to be fed one number.

-if- on its own or before a command is supposed to work on its own and will result in a scalar outcome either true or false.

So you could get your scalar -hig- by:

if (w1 > w2) & (w1 > w3)  scalar hig = 1 if (w2 > w1) & (w2 > w3)  scalar hig = 2 if (w3 > w1) & (w3 > w1)  scalar hig = 3 
 
or: 

if (w1 > w2) & (w1 > w3) {
    scalar hig = 1
}
if (w2 > w1) & (w2 > w3) {
    scalar hig = 2
}
if (w3 > w1) & (w3 > w1) {
    scalar hig = 3
}

or:

scalar hig = cond( (w1 > w2) & (w1 > w3), 1,  ///
             cond( (w2 > w1) & (w2 > w3), 2,  ///
             cond( (w3 > w1) & (w3 > w1), 3, .)))

Hope this helps,
Maarten

--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany

http://www.maartenbuis.nl
--------------------------


      

*
*   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/


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