--- On Mon, 26/10/09, Michael McCulloch wrote:
> For some reason, the following command:
> bysort var1 : replace var1 = cond(_n == 1, x, y)
>
> replaces the variable var1 with a number not *exactly*
> identical, such as:
> 58.29999924 instead of 58.3.
>
> Although I could say:
> . format %9.2f,
>
> that won't find a match for -if-, as in:
> . ... if var1==58.3
That is a precision issue, a computer can't store that number
exactly (think of storing 1/3 in decimal: 0.3333 etc.). There
are a couple of things you can do: replace to 583 rather than
58.3, as computers can store integers exactly, or use
- ... if var1==float(58.3)-.
Hope this helps,
Maarten
--------------------------
Maarten L. Buis
Institut fuer Soziologie
Universitaet Tuebingen
Wilhelmstrasse 36
72074 Tuebingen
Germany
http://www.maartenbuis.nl
--------------------------
Send instant messages to your online friends http://uk.messenger.yahoo.com
*
* 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/