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: Stata cannot do math?


From   Maarten Buis <[email protected]>
To   [email protected]
Subject   Re: st: Stata cannot do math?
Date   Thu, 19 May 2011 12:34:40 +0200

On Thu, May 19, 2011 at 12:25 PM, Ronan Conroy <[email protected]> wrote:
> I have a basic puzzle, which has just occurred to me: Stata cannot find any observations that satisfy the condition
>
> count if a == 100.1
>
> we know that Stata is representing the contents of the variable a as an inexact binary representation of 100.1, but why does it not represent the right hand argument in exactly the same way, causing the two to be equal? How does Stata represent the quantity 100.1 when it evaluates the expression a == 100.1?

It stores those numbers as doubles, so you can either create your
variable as a double or turn 100.1 into a float to make sure that the
comparison works:

*-------- begin example ---------
set obs 1
gen a = 100.1
gen double b = 100.1

count if a == 100.1
count if a == float(100.1)
count if b == 100.1
*------------ end example ----------

Hope this helps,
Maarten

--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany


http://www.maartenbuis.nl
--------------------------

*
*   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/


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