The original question seems backwards. The purpose of the loop as
written is to create (e.g.) mindiff1_2 from mindiff1 and mindiff_2, so
that far from being a problem, the prior non-existence of mindiff1_2 is
expected. Perhaps the questioner meant that some of the
mindiff1-mindiff15 may not exist, in which case a better syntax is (as
indicated by Maarten)
forval i = 1/15 {
forval j = 1/15 {
capture gen mindiff`i'_`j' = mindiff`i' - mindiff`j'
}
}
Note correction of typo ``i' to `i'.
Nick
[email protected]
Maarten buis
--- Akshay SHanker <[email protected]> wrote:
> I am running the following simple loop which i need some help with:
>
> forvalues i =1/15 {
> forvalues j=1/15{
> gen mindiff`i'_`j' = mindiff``i' - mindiff`j'
> }
> }
>
> The problem is that not all combinations of i and j exist , so for
> example mindiff1_2 may not exist. Everytime the loop goes over such a
> variable, the loop terminates and thus stops running the loop over
> all consecutive variables which may exist. How do i stop the loop
> from terminating?
see: -help capture-
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/