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,
and its save option stores these statistics in a
matrix. For example, to get the N, mean, and standard deviation of
personal income, enter:
The stat() option specifies the aggregate statistics to
be computed. 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 matrix list
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:
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:
You may clear memory before converting the matrix. Since the matrix
has only one column (3x1), you may have one variable var1
with three observations for N, mean, and standard
deviation.
If you have questions about using statistical and mathematical software at Indiana University, email UITS Research Analytics (formerly known as the Stat/Math Center). Research Analytics is located on the IU Bloomington campus at Woodburn Hall 200, and is open for consultation by appointment Monday-Friday 9am-5pm. For more, visit Research Analytics on the web, or call 812-855-4724 (IUB) or 317-278-4740 (IUPUI).
Last modified on July 02, 2012.







