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]

Re: st: -destring- and missing values


From   Nick Cox <[email protected]>
To   "[email protected]" <[email protected]>
Subject   Re: st: -destring- and missing values
Date   Wed, 2 Oct 2013 19:55:31 +0100

As the original author of -destring-, I retain some prejudices about
its use. The -force- option was added for the desperate and brutal
when so inclined. What's perhaps even more crucial is that it isn't
smart.

. set obs 1
obs was 0, now 1

. gen foo = "1" + char(160)

. destring foo, replace
foo contains nonnumeric characters; no replace

. destring foo, replace force
foo contains nonnumeric characters; replaced as byte
(1 missing value generated)

Thus with stray char(160) Stata just goes ahead and doesn't do what
you might want, ignore all non-numeric characters. It doesn't know any
more what to do than without -force-.

Nick
[email protected]


On 2 October 2013 19:46, Jeph Herrin <[email protected]> wrote:
> Thanks. I my case, I have a few variables that are not numeric; I don't want
> those converted to real. Nor do I want to sort out in advance which are
> which - I want to -destring- exactly those variables with only numerical
> values stored as strings.
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Steve Nakoneshny
> Sent: Wednesday, October 02, 2013 12:13 PM
> To: [email protected]
> Subject: Re: st: -destring- and missing values
>
> Jeph,
>
> Can you not take advantage of the -force- option of -destring- here?
>
> Steve
>
> On 2013-10-02, at 10:07 AM, Jeph Herrin wrote:
>
>> All,
>>
>> I have hundreds of variables that look like this:
>>
>> . d q1
>>
>>              storage   display    value
>> variable name   type    format     label      variable label
>> -------------------------------------------------------------
>> q1               str2    %2s
>>
>> . tab q1, m
>>
>>        q1  |      Freq.     Percent        Cum.
>> ------------+-----------------------------------
>>            |          2        0.89        0.89
>>         1  |        216       96.00       96.89
>>         2  |          7        3.11      100.00
>> ------------+-----------------------------------
>>      Total |        225      100.00
>>
>> but when I try to use -destring-
>>
>> . destring q1, replace
>> q1  contains nonnumeric characters; no replace
>>
>> According to the documentation,
>>
>>    destring treats both empty strings "" and "." as indicating sysmiss
>> (.)...
>>    destring also ignores any leading or trailing spaces so that, for
>> example,
>>    " " is equivalent to "" and " . " is equivalent to ".".
>>
>> Why is -destring- not converting my variables to numeric? I think I
>> must be missing something very obvious.
>>
>> I can get around this by
>>
>> replace q1 = "." if mi(q1)
>>
>> but I don't think I should have to.
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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