Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Need Help Recoding a variable -Dealing with string expression

 From Michael Stewart <[email protected]> To [email protected] 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 .
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 <[email protected]> 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
> <[email protected]> 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 <[email protected]> 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)
>>>>
>>>> "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/
```

• Follow-Ups: