Bookmark and Share

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]

st: RE: Remove prefixes (e.g., >, <, and +/-) from numbers stored as strings


From   "David Radwin" <[email protected]>
To   <[email protected]>
Subject   st: RE: Remove prefixes (e.g., >, <, and +/-) from numbers stored as strings
Date   Fri, 8 Jun 2012 10:59:31 -0700 (PDT)

Can you use -destring- with the -ignore- option like this?

. destring myvariable, ignore("+/-<>") generate(myvariable2)

David
--
David Radwin
Senior Research Associate
MPR Associates, Inc.
2150 Shattuck Ave., Suite 800
Berkeley, CA 94704
Phone: 510-849-4942
Fax: 510-849-0794

www.mprinc.com


> -----Original Message-----
> From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Richard Herron
> Sent: Friday, June 08, 2012 10:30 AM
> To: [email protected]
> Subject: st: Remove prefixes (e.g., >, <, and +/-) from numbers stored as
> strings
> 
> I have numbers stored as string with prefixes (e.g., "+/-30") that I
> would like to convert to numbers. Not all entries necessarily have
> prefixes (or postfixes).
> 
> With -regexm()- and -regexs()- I can remove from postfixes and handle
> decimals, but I can't remove prefixes. Can you spot my error with
> -regexm()-? Thanks!
> 
> Richard Herron
> 
> * begin code
> clear
> set obs 20
> generate number = 100*runiform()
> generate prefix = ""
> generate postfix = ""
> foreach i of numlist 1 5 10 15 {
>     replace prefix = ">" in `i'
>     replace postfix = "%" in `=`i' + 1'
>     replace number = int(number) in `=`i' + 2'
> }
> egen combo = concat(prefix number postfix)
> generate number2 = regexs(1) if regexm(combo, "([0-9]*\.?[0-9]*)")
> list
> * end code
*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index