Kate wrote 
> 
> Somebody sent me a dataset with variables like this
> one. There were 5 procedures and more than one could
> be chosen.  Instead of making each a variable, a
> single variable was made with commas separating the
> procedure number.
> 
>   procedure |      Freq.
> ------------+-----------
>    01,02,03 |         11
> 01,02,03,04 |          1
>          02 |          6
>       02,03 |        107
>    02,03,04 |         14
>       02,04 |          1
>          03 |          3
>       03,04 |          2
>          04 |          2
>          05 |          6
> 
> I want to make 5 variables that record yes or no for
> each procedure. Index() seems to be the way to go but 
> but I don't see how to use it when there's more than
> one instance of the index character. Can somebody
> point me in the direction?
James Hesford suggested 
> In Stata, type "findit split"
> You will find a FAQ by Nick Cox on splitting a string variable into
> parts. The FAQ can also be found at
> http://www.stata.com/support/faq/data/splitstr.html
That should be 
http://www.stata.com/support/faqs/data/splitstr.html
For Stata 8 this FAQ is superseded by the -split- command. 
I will revise the FAQ ASAP. However, this isn't the answer 
to Kate's question, as -split- will not create the 
indicator variables Kate needs. 
Shannon Driver suggested  
> You might try something like the following:
>     forvalues i = 1/5 {
>          gen proc0`i' = cond(index(procedure,"0`i'"),1,0)
>     }
which does seem the right way to go. Note in passing that 
cond(index(procedure,"0`i'"),1,0) 
could also be 
index(procedure,"0`i'") > 0 
There is a more general FAQ on multiple 
responses by Ulrich Kohler and myself at 
http://www.stata.com/support/faqs/data/multresp.html
which in turn has been revised and expanded 
in Stata Journal 3(1), 81-99 (2003).  
Nick 
[email protected] 
*
*   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/