Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: AW: RE: AW: Identifying unique values with codebook

From   "Nick Cox" <>
To   <>
Subject   st: RE: AW: RE: AW: Identifying unique values with codebook
Date   Wed, 16 Jun 2010 15:31:03 +0100

-inspect- has its fans, but I am not among them. 

-inspect- seems to regard strings as failed numerics, and refuses to
look inside. It would be simpler to ignore all strings. 

I wonder whether some kind of review of -inspect- is called for.
Whatever -inspect- does that differs from -codebook- could be taken into
-codebook-, perhaps. -inspect- could remain available under version


Martin Weiss

A "string representation" seems to work with -codebook-, but not
which claims to find o unique values...

inp str25 mystrvar

Nick Cox

As Martin says, at root this is a precision problem. 

Neither -codebook- nor anything else is to blame if it is presented with
the same values. To hold very large integers you may need to consider
-long- as another possibility, or even a string representation. 

Martin Weiss

As -help data_types- says: "doubles have 16 digits of accuracy." So you
increase the digits of your "y" up to the point where even -double- can
nothing for you:

set obs 10
gen byte x=_n
codebook x
gen double y1 = 1000000000000000 + x
gen double y2 = 10000000000000000 + x
gen double y3 = 100000000000000000 + x
gen double y4 = 1000000000000000000 + x
codebook y?
ins y?

Interestingly, -inspect- seems to differ from -codebook-`s opinion.

Walter Garcia-Fontes

I stumped into a problem when identifying unique values of a numeric
variable using "codebook": if the values are large they will be
identified as the same value.  

For instance I have a variable x with the following values:
0, 1, 2, ... 10 (that is 10 different values)

codebook x 
reports "unique values: 10"

Now do 
gen y = 100000000000000000 + x

codebook y
reports "unique values = 1"

Is this a feature?

*   For searches and help try:

© Copyright 1996–2015 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index