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 |
Ulrich Kohler <kohler@wzb.eu> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: a loop error of -foreach- |

Date |
Fri, 17 Sep 2010 11:28:04 +0200 |

Am Freitag, den 17.09.2010, 08:49 +0000 schrieb Grace Jessie: > Dear statalists, > I encountered a loop problem. > The commands I edited are as follwows. > > foreach j in a b c d { > foreach i in e f g { > if `j'==b { > count > } > else { > su > } > } > } > > Sometimes the error was showed "b ambiguous abbreviation",sometimes > the error was "type mismatch". > What is wrong? > In my mind, -foreach lname in- can be followed by any_list. > Thank you for any explanation! -foreach lname in- can, as you said, followed by any list. However you need to control that what is in the list makes sense to the commands inside the loop. In your case the elements of the lists are interpreted as (abbreviations of) variable names in the if-condition. The variable name "b" is ambiguous if more than one variable exists starting with "b". You encounter a type mismatch if only one such variable exists but that variable is a numeric variable (which you compare with the string b). Perhaps you might want to code if "`j'" == "b" { Leaving this asside your branch is a bit ill treated. Using a branch such as this . sysuse auto . if foreign = 1 { . count . } checks whether the first observation of foreign contains 1. If it is the case, all observations are counted. Hence, the result of the code above depends on the sort order of the data set, which is not what you normally want to do. Uli if "`j'"=="b" { count } > > Best regards, > Grace > > > * > * 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/ * * 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/

**References**:**st: a loop error of -foreach-***From:*Grace Jessie <gracejessie@hotmail.com>

- Prev by Date:
**st: Suggestion for Reshape** - Next by Date:
**Re: st: Count multiple observations / weight in Scatter** - Previous by thread:
**RE: st: a loop error of -foreach-** - Next by thread:
**st: Date: Fri, 17 Sep 2010 10:52:44 +0200** - Index(es):