Wednesday, March 01, 2006

st: RE: Stored decimals

You shouldn't need to -round(,)-. This is a standard precision issue (-search precision, faq-) and the presentation problem should be soluble using -format-.

Thus we need to know in what sense that "doesn't work".

Nick n.j.cox@durham.ac.uk

Siyam, Amani > I am dealing with survey data that avails children weights in kgs (int > %8.0g). The way the weight variable is provided is without decimal > places as a three digit number, the last digit representing the 1st > decimal place, that is the variable has to be divided by 10 before it > can be used for the necessary calculations. > > I used the command: > > gen tweight=weight/10 > > The way the variable "tweight" is stored is critical to the subsequent > user of my programme and rather annoying because I don't understand > where the extra decimal places are coming from. Below is an > example of > the pattern of how the 1 decimal place > > DHS weight True tweight Stata-stored tweight > 30 3.0 3.0 > 31 3.1 3.0999999 > 32 3.2 3.2 > 33 3.3 3.3000002 > 34 3.4 3.4000001 > 35 3.5 3.5 > 36 3.6 3.5999999 > 37 3.7 3.7 > 38 3.8 3.8 > 39 3.9 3.9000001 > > When you summarise the variable tweight, it neatly displays as a > 1-decimal place variable. > > Variable | Obs Mean Std. Dev. Min Max > -------------+-------------------------------------------------------- > tweight | 2686 8.617238 3.959973 1.5 80.7 > > I tried the common formatting commands but none seem to be working: > > gen float tweight=weight > repl tweight=round(tweight, 0.1) > format tweight %9.1f >

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


Tag:


Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?