This doesn't require either -foreach- or -forvalues-. -encode- does
precisely this.
Alternatively,
bysort stringvar : gen newvar = _n == 1
replace stringvar = sum(stringvar)
or
egen newvar = group(stringvar)
There is not much to explain about combining -foreach- and -forvalues-,
as you just do it if and when you need it, typically by nesting one
inside the other. But that's not the case here.
Nick
[email protected]
John Bunge
I have a string variable x1 with a list of values. I want to create a
numerical variable x2 in which the numbers correspond to the string
values in x1 in an ordered fashion (as a counter).
To illustrate, lets assume x1 contains all letters of the alphabet, and
I want x2 to contain a counter that corresponds to the position of the
letter in the alphabet, i.e. x1=a > x2=1, x1=b > x2=2, x1=c > x2=3,
etc...
This seems to me like a combination of foreach and forvalues, but I
cannot find information on whether and how such thing is implementable
in 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/