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 Nick Cox To statalist@hsphsun2.harvard.edu Subject Re: st: Need Help Recoding a variable -Dealing with string expression Date Wed, 20 Jun 2012 18:47:56 +0100

```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)
>>>