Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: RE: -foreach- syntax


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: RE: -foreach- syntax
Date   Thu, 27 Oct 2005 22:07:02 +0100

Tom's sharp eyes and brain caught the quote mark, which 
zaps my first paragraph. The rest, I believe, remains valid. 

Nick 
n.j.cox@durham.ac.uk 

Nick Cox
 
> I'm not clear, but I guess wildly that you're feeding 
> something too big to -foreach-. That's a pretty empty 
> statement as it is clear that Stata can't see your {. 
> 
> In addition, I note that my last advice to you 
> on Statalist was 
> 
> ====================== 24 October 2005 
> Also I guess wildly that your data structure is quite 
> the wrong way round to do much easily in Stata. Solve 
> this problem, and other problems will be just as messy. 
> Consider reshaping to panel data structure, and much 
> may be a lot easier. 
> ======================
> 
> and I repeat that advice, which just echoes standard
> Stata wisdom in this territory. 
> 
> More positively, I would be amazed if you really need 
> to write code like this. The wildcard 
> 
> lcq?y???? 
> 
> may well serve to catch all the first set of variables, and no
> others. So then it might be
> 
> foreach x of var lcq?y???? {
> 	local d : subinstr local x "lc" "dol" 
>  	gen ratio`x'=lc`x'/dol`x'
> }
> 
> but it still looks scary to me. 
> 
> Nick 
> n.j.cox@durham.ac.uk 
> 
> Terra Curtis
>  
> > I am trying to run a foreach loop but I keep getting an 
> error which is
> > puzzling me.  My code is below, with the error:
> > 
> > Code:
> > foreach x in "q1y1989" "q2y1989" "q3y1989" "q4y1989" 
> > "q1y1990" "q2y1990"
> > "q3y1990" "q4y1990" "q1y1991" "q2y1991" "q3y1991" "q4y1991" 
> "q1y1992"
> > "q2y1992" "q3y1992" "q4y1992" "q1y1993" "q2y1993" "q3y1993" 
> "q4y1993"
> > "q1y1994" "q2y1994" "q3y1994" "q4y1994" "q1y1995" "q2y1995" 
> "q3y1995"
> > "q4y1995" "q1y1996" "q2y1996" "q3y1996" "q4y1996" "q1y1997" 
> "q2y1997"
> > "q3y1997" "q4y1997" "q1y1998" "q2y1998" "q3y1999" "q4y1999" 
> "q1y2000"
> > "q2y2001" "q3y2001" "q4y2001" "q1y2002" "q2y2002" "q3y2002" 
> "q4y2002"
> > "q1y2003" "q2y2003" "q3y2003" "q4y2003" "q1y2004" q2y2004" "q3y2004"
> > "q4y2004" "q1y2005" "q2y2005" {
> > 	gen ratio`x'=lc`x'/dol`x'
> > }
> > 
> > Error:
> > { required
> > r(100);
> > 
> > end of do-file
> > r(100);
> > 
> > In my do-file the "foreach x in ..." line is all one line.  
> > And as you can
> > see I have included the "{".  Can anyone spot the error?

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index