Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: Bugs in generating variables?


From   "David Harrison" <[email protected]>
To   <[email protected]>
Subject   st: RE: Bugs in generating variables?
Date   Thu, 4 Nov 2004 09:58:59 -0000

Fabrice

See my post a few seconds ago on floating point precision...!

In a float variable, 0.1 is 0.10000000149... and therefore evaluates as >0.1

David
[email protected]

-----Original Message-----
From: Fabrice Etile [mailto:[email protected]]
Sent: 04 November 2004 10:03
To: [email protected]
Subject: st: Bugs in generating variables?


Dear Stata Users,

Here is a strange output, which shows that Stata 8 has some problems for 
dealing with inequalities:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

        log:  c:\data\aninserm\inserm03\countmodels\logforstata.smcl
   log type:  smcl
  opened on:   4 Nov 2004, 10:53:51

[added comment : continuous is a continuous (formatted double) variable in 
the range 0-1.1]
. ta continuous

  continuous |      Freq.     Percent        Cum.
------------+-----------------------------------
           0 |      7,156       92.55       92.55
          .1 |        241        3.12       95.67
          .2 |        150        1.94       97.61
          .3 |         99        1.28       98.89
          .4 |         48        0.62       99.51
          .5 |         23        0.30       99.81
          .6 |          6        0.08       99.88
          .7 |          6        0.08       99.96
          .9 |          2        0.03       99.99
         1.1 |          1        0.01      100.00
------------+-----------------------------------
       Total |      7,732      100.00

. g discrete=(continuous>0.1)
[added comment : I generate a discrete variable which takes value 1 if 
continuous is strictly greater than 0.1]
. ta continuous discrete

            |       discrete
continuous |         0          1 |     Total
-----------+----------------------+----------
          0 |     7,156          0 |     7,156
         .1 |         0        241 |       241
         .2 |         0        150 |       150
         .3 |         0         99 |        99
         .4 |         0         48 |        48
         .5 |         0         23 |        23
         .6 |         0          6 |         6
         .7 |         0          6 |         6
         .9 |         0          2 |         2
        1.1 |         0          1 |         1
-----------+----------------------+----------
      Total |     7,156        576 |     7,732


As you can see, observations with continuous==0.1 should have discrete==0 
and this is not what happens!!

Has someone an answer to that?

Cheers

Fabrice Etil�


PS: note that one of my colleague showed me a similar bug, so that it is 
not a hardware-related problem.


Fabrice Etil�
INRA-CORELA
65, Bvd. de Brandebourg
94205, Ivry-sur-Seine cedex
T�l: 01 49 59 69 86
Fax: 01 49 59 69 90
E-mail: [email protected]
Web: http://www.ivry.inra.fr/corela/membres/etile.php

"L'ennui dans ce monde, c'est que les idiots sont s�rs d'eux et les gens 
sens�s pleins de doutes." - Bertrand Russell




  


*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index