Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Joerg Luedicke <joerg.luedicke@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: For loops, If Statements and Delimiters |

Date |
Mon, 11 Feb 2013 15:01:48 -0500 |

Did you look at the -trace-? (-help trace-) Perhaps you could post an excerpt of it. Joerg On Mon, Feb 11, 2013 at 2:54 PM, Ryan Stevens <stevrl7@gmail.com> wrote: > I'm guessing that using Stata 12 should have no effect? Also, this is > code I've extracted from a larger do file and changed a bit to make it > more general. If you're getting it to work, maybe there's something > going on with the rest of my do file that I'm unaware of. But I was > hoping to see if anyone else had had similar issues with delimiters > and for loops. Thanks both of you for responding so quickly. > > Ryan > > On Mon, Feb 11, 2013 at 2:48 PM, Joerg Luedicke > <joerg.luedicke@gmail.com> wrote: >> FWIW, I cannot replicate this. Running the following in Stata 11.2: >> >> *------------------------------------------ >> clear >> set obs 100 >> >> forval i=1/3 { >> gen var`i' = `i' >> } >> >> # delimit ; >> local j = 1; >> foreach x of varlist var1-var3{; >> forval i = 1/12{; >> if(`j'<3){; >> replace `x' = `x'[`i']-`x'[`j'] in `i'; >> local j = `j' + 1; >> }; >> else{; >> replace `x' = `x'[`i']-`x'[`j'] in `i'; >> local j = 3; >> }; >> }; >> }; >> >> *------------------------------------------ >> >> works as expected: >> >> <snip> >> - forval i = 1/12{ >> - if(`j'<3){ >> = if(1<3){ >> - replace `x' = `x'[`i']-`x'[`j'] in `i' >> <snip> >> >> Joerg >> >> On Mon, Feb 11, 2013 at 2:41 PM, Nick Cox <njcoxstata@gmail.com> wrote: >>> Any suggestion? Mine would include not using ; as a delimiter. More >>> positively, I would always put a space before each brace. >>> >>> My vague recollection is that there are some very obscure bugs that >>> can bite with semi-colons, although a search did not turn up a precise >>> post, but spaces before braces might be the territory. >>> >>> Nick >>> >>> On Mon, Feb 11, 2013 at 7:30 PM, Ryan Stevens <stevrl7@gmail.com> wrote: >>> >>>> I have been having an issue with using for loop and if statements >>>> together with a semi-colon delimiter. The following is some example >>>> code for the problem I've come across: >>>> >>>> # delimit ; >>>> local j = 1; >>>> foreach x of varlist var1-var3{; >>>> forval i = 1/12{; >>>> if(`j'<3){; >>>> replace `x' = `x'[`i']-`x'[`j'] in `i'; >>>> local j = `j' + 1; >>>> }; >>>> else{; >>>> replace `x' = `x'[`i']-`x'[`j'] in `i'; >>>> local j = 3; >>>> }; >>>> }; >>>> }; >>>> >>>> Whenever I try running this I get an error on my if statement, where >>>> Stata interprets "< 3" as a variable name. Any suggestions for loops >>>> and if statements using delimiters would be greatly appreciated. >>> * >>> * For searches and help try: >>> * http://www.stata.com/help.cgi?search >>> * http://www.stata.com/support/faqs/resources/statalist-faq/ >>> * http://www.ats.ucla.edu/stat/stata/ >> * >> * For searches and help try: >> * http://www.stata.com/help.cgi?search >> * http://www.stata.com/support/faqs/resources/statalist-faq/ >> * http://www.ats.ucla.edu/stat/stata/ > * > * For searches and help try: > * http://www.stata.com/help.cgi?search > * http://www.stata.com/support/faqs/resources/statalist-faq/ > * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: For loops, If Statements and Delimiters***From:*Ryan Stevens <stevrl7@gmail.com>

**References**:**st: For loops, If Statements and Delimiters***From:*Ryan Stevens <stevrl7@gmail.com>

**Re: st: For loops, If Statements and Delimiters***From:*Nick Cox <njcoxstata@gmail.com>

**Re: st: For loops, If Statements and Delimiters***From:*Joerg Luedicke <joerg.luedicke@gmail.com>

**Re: st: For loops, If Statements and Delimiters***From:*Ryan Stevens <stevrl7@gmail.com>

- Prev by Date:
**Re: st: For loops, If Statements and Delimiters** - Next by Date:
**Re: st: For loops, If Statements and Delimiters** - Previous by thread:
**Re: st: For loops, If Statements and Delimiters** - Next by thread:
**Re: st: For loops, If Statements and Delimiters** - Index(es):