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

Re: st: Using variables in numlist of forvalue command


From   Nick Winter <nw53@cornell.edu>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Using variables in numlist of forvalue command
Date   Wed, 08 Jun 2005 11:42:40 -0400

How about something like this:

sum daysupply , meanonly
forvalues daynum = 2/`r(max)' {
replace date`daynum' = date1 + `daynum'-1 if daysupply>=`daynum'
}

The first line summarizes daysupply, which puts the maximum value of daysupply in `r(max)'. (The 'meanonly' option suppresses the output of the sum command, as well as speeding it up a bit by not calculating the variance of daysupply).

Then you loop through the values of daynum that you need (i.e., from 2 through the maximum value of daysupply. The -if- condition in the replace command ensures that the command is only executed for the appropriate observations.

(If you knew beforehand that the maximum value of daysupply was 10, as in your example, you could code thta directly:

forvalues daynum = 2/10 {
replace date`daynum' = date1 + `daynum'-1 if daysupply>=`daynum'
}

but that would be less general, and would fail if you ran it again later with a dataset that had larger values of daynum.

--Nick Winter


At 11:33 AM 6/8/2005, you wrote:


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
}

Any suggestions?
Thanks,
_Shawn






--------------------------------------------------------
Nicholas Winter                           607.255.8819 t
Assistant Professor                       607.255.4530 f
Department of Government              nw53@cornell.edu e
308 White Hall            falcon.arts.cornell.edu/nw53 w
Cornell University
Ithaca, NY 14853-4601

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