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

From |
"Nick Cox" <n.j.cox@durham.ac.uk> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
st: RE: Splitting string variables without parse strings |

Date |
Fri, 8 May 2009 14:33:38 +0100 |

Note that the manual entry [D] split does point quite explicitly to -substr()- for such problems. Nick n.j.cox@durham.ac.uk -----Original Message----- From: Nick Cox Sent: 08 May 2009 14:29 To: 'statalist@hsphsun2.harvard.edu' Subject: RE: Splitting string variables without parse strings You are correct about -split-. As the original author of -split- I can comment. It was designed specifically to cope with strings containing one or more parse strings, typically not necessarily single characters such as spaces or commas. I thought quite a bit about extending it to your kind of problem, but could see no easy way to do that (a) did not complicate the syntax mightily and (b) was an improvement on direct use of -substr()-. -substr()- is, and has long been, the method of choice for your kind of problem. forval i = 1/4 { gen sitc_`i' = substr(sitc, `i', 1) } is a solution to your problem, modulo your exact variable names. Thus it isn't very tricky at all. Nick n.j.cox@durham.ac.uk Ben Carpenter I have got a problem splitting one string variable into four new stringvariables each containing a part i.e. 1digit of the former 4digit string variable. My strings look like "103A" or "009X" (without the "") i.e. I have got 4 digit codes which contain numbers and letters. I want to generate four new variables each consisting of one digit of the former 4digit-string variable. An Example: sitc(variable name of the 4digit string var): 103A 09XX After the split the data should look like: sitc_1st_digit sitc_2nd_digit sitc_3rd_digit sitc_4th_digit 1 0 3 A 0 9 X X As far as I know, the split command needs characters as parse_strings to know when to "cut" the string. But I don ´t have any parse strings within my 4digit string variable. How can I cope with that? Is there another command(or combination of commands) apart from "split" which can deal with the problem? I would very much appreciate help with this tricky problem. * * 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**:**Re: st: bootstrap test for ineqdeco comparison***From:*Maarten buis <maartenbuis@yahoo.co.uk>

**st: Splitting string variables without parse strings***From:*"Ben Carpenter" <b.carpenter@gmx.de>

**st: RE: Splitting string variables without parse strings***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

- Prev by Date:
**st: RE: Splitting string variables without parse strings** - Next by Date:
**st: RE: AW: RE: AW: Variable estimates from GLST metaregression of observational studies** - Previous by thread:
**st: RE: Splitting string variables without parse strings** - Next by thread:
**Re: st: bootstrap test for ineqdeco comparison** - Index(es):

© Copyright 1996–2017 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |