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]
st: rounding error
From
Richard Fox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
st: rounding error
Date
Tue, 20 Dec 2011 13:57:03 +0000
Dear statalist,
I have written a program that summarises a continuous variable by a categorical variable and over a discrete time period, say Weight at a series of GP visits.
The results are generally as expected but sometimes the rounding does not seem to work.
I capture the information I need as in the following example (this is just a small extract from the program, obviously there are argument definitions and tabulations etc.);
local acc = .1
qui su `x' if New`v' == Tnam[`i',1] & New`w'==Wnam`i'[`j',1],d
local Median_`i'_`j' = round(r(p50),`acc')
The results I obtain (see 2 examples below) often have values that have many decimal places which appears to suggest that the rounding is not working. However if I run a basic summary of the particular variable the results I get do not have the numerous decimal places so I'm not sure if the issue is with the rounding statement. Any ideas?
local acc = .1
. su Weight if Trt==1 & Week==3, d
My program in this case returns a value of 84.30000000000001
Weight
-------------------------------------------------------------
Percentiles Smallest
1% 75.6 75.6
5% 75.6 93.1
10% 75.6 . Obs 2
25% 75.6 . Sum of Wgt. 2
50% 84.35 Mean 84.35
Largest Std. Dev. 12.37437
75% 93.1 .
90% 93.1 . Variance 153.125
95% 93.1 75.6 Skewness 0
99% 93.1 93.1 Kurtosis 1
. local x= r(p50)
. di `x'
84.35
. local y= round(r(p50),`acc')
. di `y'
84.3
.
.
. su Weight if Trt==2 & Week==1, d
My program in this case returns a value of 79.80000000000001
Weight
-------------------------------------------------------------
Percentiles Smallest
1% 67.7 67.7
5% 67.7 67.9
10% 67.7 73.3 Obs 8
25% 70.6 78.5 Sum of Wgt. 8
50% 79.75 Mean 85.15
Largest Std. Dev. 16.55346
75% 103.1 81
90% 106.6 100.9 Variance 274.0171
95% 106.6 105.3 Skewness .3192319
99% 106.6 106.6 Kurtosis 1.394482
. local x= r(p50)
. di `x'
79.75
. local y= round(r(p50),`acc')
. di `y'
79.8
Best Regards
Richard Fox
*
* 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/