Hi there,
have repeatedly tried to center a variable at its mean, using the "mcenter" function (https://econpapers.repec.org/softwar...de/s445601.htm).
This centered variable should have a mean of 0, but somehow it does not.
I first recoded my variable (age) so that it is categorised by decades:
. sum age
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
age | 69,260 42.58625 16.27877 16 103
.
. recode age (16/19 = 1 "16-19") (20/29 = 2 "20-29") (30/39 = 3 "30-39") (40/49 = 4 "40-49") (50/59 = 5 "50-59") (60/69 = 6 "60-69") (7
> 0/79 = 7 "70-79") (80/89 = 8 "80-89") (90/99 = 9 "90-99") (100/103 = 10 "100-103"), generate(agedec)
(69260 differences between age and agedec)
I then wanted to center the variable "agedec" at their mean, hence creating a new variable "C_agedec" with a mean of 0. However, as you can see below, the mean is not exactly 0.
.
. mcenter agedec
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
C_agedec | 69,260 1.60e-09 1.656345 -2.813947 6.186052
Is this simply a rounding error or something more serious? I don't understand why this function (mcenter) is not exactly doing what it is supposed to do?
Many thanks in advance to anyone who may know what is going on here
have repeatedly tried to center a variable at its mean, using the "mcenter" function (https://econpapers.repec.org/softwar...de/s445601.htm).
This centered variable should have a mean of 0, but somehow it does not.
I first recoded my variable (age) so that it is categorised by decades:
. sum age
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
age | 69,260 42.58625 16.27877 16 103
.
. recode age (16/19 = 1 "16-19") (20/29 = 2 "20-29") (30/39 = 3 "30-39") (40/49 = 4 "40-49") (50/59 = 5 "50-59") (60/69 = 6 "60-69") (7
> 0/79 = 7 "70-79") (80/89 = 8 "80-89") (90/99 = 9 "90-99") (100/103 = 10 "100-103"), generate(agedec)
(69260 differences between age and agedec)
I then wanted to center the variable "agedec" at their mean, hence creating a new variable "C_agedec" with a mean of 0. However, as you can see below, the mean is not exactly 0.
.
. mcenter agedec
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
C_agedec | 69,260 1.60e-09 1.656345 -2.813947 6.186052
Is this simply a rounding error or something more serious? I don't understand why this function (mcenter) is not exactly doing what it is supposed to do?
Many thanks in advance to anyone who may know what is going on here

Comment