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/