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

st: RE: RE: Using variables in numlist of forvalue command


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: RE: Using variables in numlist of forvalue command
Date   Wed, 8 Jun 2005 17:56:44 +0100

Oh shucks, I see that Nick Winter has already 
sent the same advice. 

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

Nick Cox
 
> You can't put a variable into a numlist
> in this way. 
> 
> Try something like 
> 
> su daysupply, meanonly 
> forvalues daynum = 2/`r(max)' { 
> 	replace date`daynum' = date1 + `daynum' - 1 if `daynum' 
> <= daysupply 
> } 
> 
> You may know the maximum in advance, so that you 
> can simplify to say 
> 
> forvalues daynum = 2/10 { 
> 	replace date`daynum' = date1 + `daynum' - 1 if `daynum' 
> <= daysupply 
> } 
> 
> Nick
> n.j.cox@durham.ac.uk 
> 
> Shawn.Fultz@med.va.gov
> 
> I'm trying to change several variables in each observation. 
> The problem is that the number of variables I want to update 
> is different for each observation and this number is a 
> variable in that observation. I've tried using a forvalues 
> loop, which works if I specify a stop and start number, but I 
> cannot find a way to put a variable in the numlist allowing 
> this to change for each observation.
> 
> Here's the command that works:
>         forvalues daynum = 2/10 {
>         replace date`daynum'=date1+`daynum'-1
>         }
> 
> But when I replace the 10 with the variable that tells me how 
> many date variables to change, I get a syntax error.
>         forvalues daynum = 2/daysupply {
>         replace date`daynum'=date1+`daynum'-1
>         }

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