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: a loop error of -foreach-


From   "Sarah Edgington" <[email protected]>
To   <[email protected]>
Subject   RE: st: a loop error of -foreach-
Date   Fri, 17 Sep 2010 10:02:25 -0700

.
Go with the previous suggestion of :

if "`j'" == "b" { 

I think that will work even if b is the name of a variable because you're
telling stata to check whether the local macro j is equal to the string "b"
rather than equal to the value of the variable b.

-Sarah


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Grace Jessie
Sent: Friday, September 17, 2010 8:37 AM
To: [email protected]
Subject: RE: st: a loop error of -foreach-

More exactly, I want to do -reg b x1 x2- if `j' gets the value of b,and do
-logit a/c/d x1 x2- otherwise, where x1 and x2 are independent variables.
I just want to take the lists as elements and then do different things,i.e.,
do different things for different elements in the lists.
 
Grace


----------------------------------------
> From: [email protected]
> To: [email protected]
> Subject: RE: st: a loop error of -foreach-
> Date: Fri, 17 Sep 2010 15:26:06 +0000
>
> Dear Uli and Maarten,
> Thank you for your replies.
> I know what is wrong after your explanations.
> However, what I want to do is letting stata interpret the elements of the
lists just as elements, not variable names.
> In fact, I want to do -count- commmand or any other commands if the
element is b and do others (such as -su-) otherwise.
> How to modify my loop for doing that?
> Thank you.
>
> Best regards,
> Grace
>
> ----------------------------------------
> > Date: Fri, 17 Sep 2010 09:18:39 +0000
> > From: [email protected]
> > Subject: Re: st: a loop error of -foreach-
> > To: [email protected]
> >
> > --- On Fri, 17/9/10, Grace Jessie wrote:
> > > I encountered a loop problem.
> > > The commands I edited are as follwows.
> > >
> > > foreach j in a b c d {
> > > foreach i in e f g {
> > > if `j'==b {
> > > count
> > > }
> > > else {
> > > su
> > > }
> > > }
> > > }
> > >
> > > Sometimes the error was showed "b ambiguous 
> > > abbreviation",sometimes the error was "type mismatch".
> > > What is wrong?
> > > In my mind, -foreach lname in- can be followed by any_list.
> >
> > the problem is not with -foreach- but with the commands inside your 
> > loop. Apperently the elements your are looping over are not always 
> > unique variable names and sometimes they are string variable where 
> > numeric variables where expected or vice versa.
> >
> > 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/

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