Oh shucks, I see that Nick Winter has already
sent the same advice.
Nick
[email protected]
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
> [email protected]
>
> [email protected]
>
> 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/