In Stata, how do I store the descriptive statistics of a variable in a macro?
In Stata, the
.tabstat command computes
aggregate statistics of variables such as mean and standard deviation,
save option stores these statistics in a
matrix. For example, to get the N, mean, and standard deviation of
personal income, enter:
. tabstat income, stat(n mean sd) save
stat() option specifies the aggregate statistics to
N (the number of valid observations), mean,
and standard deviation are stored in a matrix
r(StatTotal). You may check for the presence of the
matrix using the
return list command. You can also list
the values of the matrix by running
r(StatTotal) as follows:
. return list matrices: r(StatTotal) : 3 x 1 . matrix list r(StatTotal)
To convert the special matrix into a typical matrix using the
.matrix command, enter:
. matrix stats=r(StatTotal)
Finally, to convert a scalar, for example, the mean of the variable, into a macro, enter:
. local avg=stats[2,1]
If you want to save the matrix as a variable, enter the
.svmat command instead:
. clear . svmat stats, name(var)
You may clear memory before converting the matrix. Since the matrix
has only one column (3x1), you may have one variable
with three observations for
N, mean, and standard
If you have questions about using statistical and mathematical software at Indiana University, email UITS Research Analytics. Research Analytics is located on the IU Bloomington campus at Woodburn Hall 200, and is open for consultation by appointment Monday-Friday 9am-5pm.
This is document atuo in the Knowledge Base.
Last modified on 2014-06-25.
- Fill out this form to submit your issue to the UITS Support Center.
- Please note that you must be affiliated with Indiana University to receive support.
- All fields are required.