Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: break string into multiple variables
From
Steve Nakoneshny <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: break string into multiple variables
Date
Thu, 11 Oct 2012 05:33:34 -0600
Thanks for the clarification, Nick.
Steve
Sent via carrier pigeon
On 2012-10-11, at 2:58 AM, "Nick Cox" <[email protected]> wrote:
> There is no such option, but why deserves a comment. (A little of the
> history of -split- is documented at [D] split.)
>
> -split- is an official command focused on one problem: splitting a
> string according to separators or parse characters. In the easiest
> case. the separators are spaces, so that the substrings are words in
> Stata's sense. In "2 3 5 7 11 13", the separate integers are words
> sensu Stata just as surely as the words in "Stata rules OK" and "Queen
> rules UK" (to disinter briefly a popular British idiom from the
> 1970s).
>
> The separators could be something else: e.g. "@" separates distinct
> parts of email addresses.
>
> That splitting problem basically calls for a loop over words: each
> distinct word goes into a distinct variable, but it was a popular
> question on Statalist several years ago. Essentially that was what led
> to -split-, with -strparse- (M. Blasnik and myself, SSC) a step on the
> way.
>
> Another splitting problem is the kind illustrated by Sophie, in which
> there are no separator characters. The answer is always to use
> -substr()- as many times as are needed and you do have to spell out
> starting positions always and lengths often.
>
> To come to the point: I thought at some length about adding some
> functionality to -split- to cover this second kind of problem but
> decided it would just add complication to the syntax. It seemed easy
> enough and in many ways better to emphasise using -substr()- directly
> as the answer. But that was, and is, a judgement call. At the back of
> my mind was always the Unix precept that a program should do one thing
> well.
>
> Nick
>
> On Thu, Oct 11, 2012 at 1:53 AM, Steve Nakoneshny <[email protected]> wrote:
>> Sophie,
>>
>> At first glance, I would suggest looking at -split-, but only prior to using -destring-. There might be an option for splitting each character into a new var.
>>
>> Steve
>>
>> Sent via carrier pigeon
>>
>> On 2012-10-10, at 5:33 PM, "Sophie Moullin" <[email protected]> wrote:
>>
>>> Dear all,
>>>
>>> I've got a number of string variables which contain answers for up to
>>> 13 questions within the broad variable category, which when destrung
>>> are listed as one single numeric, e.g. 2222112222 (1 is yes, 2 is no).
>>> I need to create separate variables for each question 1-13.
>>>
>>> I haven't been able to find any example code for this on any of the
>>> stata documentation or FAQ. Any advice would be much 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/