Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Michael Stewart <michaelstewartresearch@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Need Help Recoding a variable -Dealing with string expression |
Date | Wed, 20 Jun 2012 22:29:46 -0400 |
Dear Nick, I have executed the stata command per your suggestions and worked exactly as I wanted. I became more interested in the string functions and started reading up on them in stata pdf manual but got lost . Can you please help me understand the logic here strpos(strvar,">")--> supposed to return position where > is found and if > is not found to return a value zero but we are able to combine the strpos function with replace and even if > is found , we are able to convert the misisng value to zero .Can you please explain the logic here. Also would you recommend any good reference for using / building the regular expressions. Thanks a lot Nick for your time -- Thank you , Yours Sincerely, Mike. On Wed, Jun 20, 2012 at 1:47 PM, Nick Cox <njcoxstata@gmail.com> wrote: > Same answer, really. Something like > > destring strvar, gen(numvar) force > > replace numvar = 3 if strpos(strvar, ">") | strpos(strvar, "<") | > regexm(strvar, "[a-z]+") > > You need to find out about string functions. -help functions-. > > Nick > > On Wed, Jun 20, 2012 at 4:52 PM, Michael Stewart > <michaelstewartresearch@gmail.com> wrote: >> Thank you Nick and Daniel . >> >> I am sorry that my post want clear enough. >> >> Once I destring, with a force option, I get some missing values >> corresponding to non numeric vaulues. >> >> I wanted to recode the missing values in the new variable to number 3 >> if there is an alphabet(could be anything from a to z) or a symbol (< >> or > ) in the corresponding observation for the original variable >> like "sometimes" "< two" "<3" ">5 " "<0.5" ">four" . > > > On Wed, Jun 20, 2012 at 10:00 AM, Nick Cox <njcoxstata@gmail.com> wrote: > >>> The question is too general to answer fully but one pattern is just >>> >>> recode x <whatever> if y == "foo" >>> >>> In addition to exact equality of string values there are many other >>> possibilities involving string functions. > > On Wed, Jun 20, 2012 at 2:49 PM, Michael Stewart > >>>> I need to recode a variable if another variable has a nonnumeric >>>> string observation(could have any non-numeric expression) >>>> >>>> Eg: recode x(......) if y =TSTATA COMMAND (any non-numeric >>>> string expression) >>>> >>>> Can you please help me with the command to take into consideraiton >>>> "any non-numeric string expression " > > * > * 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/ * * 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/