Thanks Nick. It worked perfect.
On Thu, May 15, 2008 at 4:03 PM, Nick Cox <[email protected]> wrote:
> Dots are not allowed in variable names. Period.
>
> So your code could read something like this:
>
> local varlist1 "var1 var2 var3 var4"
> forval i = 1/3 {
> foreach X of local varlist1 {
> gen `X'_y`i' = `X'_y
> replace `X'_y`i' = `X'_y + (`X'_y * `i'/100)
> }
> }
>
> It's not a good idea to loop over lists like 0.01 0.02 0.03, as sooner
> or later precision problems will bite. I always loop over integers, and
> do any arithmetic yielding fractions _inside_ the loop.
>
> Notice that I changed your outer loop to -forval-. That's a matter of
> style, not syntax.
>
> Nick
> [email protected]
>
> Rijo John
>
> I have the following that gives results the way I wanted.
>
> local varlist1 "var1 var2 var3 var4 "
> foreach i in 1 2 3{
> foreach X of local varlist1{
> gen `X'_y`i'=`X'_y
> replace `X'_y`i' = `X'_y+(`X'_y*`i')
> }
> }
>
> However, if I change values 1, 2, 3 to 0.01, 0.02 and 0.03 it gives me
> the error saying "var1_y0.01 invalid name". As I understand variables
> can not be named with dots in it? if so how do I get around? how can I
> modify it to generate variabes such as var1_y1=var1-(var1_y*0.01) and
> so on.
>
> *
> * 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/
>
*
* 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/