[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Request for advice on simple summary tables for LaTeX

From   Venable <>
Subject   st: Request for advice on simple summary tables for LaTeX
Date   Fri, 30 Oct 2009 15:22:21 -0400

Dear Statalisters,

I have been experimenting with a few different methods for creating
tables of summary statistics in LaTeX. For example, I would like to
present the mean, 25th percentile, median and 75th percentiles of the
variables price, mpg and weight in the auto.dta dataset. There are a
number of nice alternatives in Stata but I am having some trouble
getting any of these to do exactly what I would like.

The simplest option seems to be -latabstat-, as in
latabstat price mpg weight, ///
	columns(statistics) statistics(mean p25 p50 p75) ///
	cap(Summary Statistics) clabel(summary-statistics) ///
	tf(summary-statistics) replace

This is very easy to implement and produces nice-looking output, but
as far as I can tell it is not possible to use variable labels. Is
this correct?

I very much like the look of the tables created by -tabout-, for
example in the nice tutorial:
The tables in this tutorial look great, in particular the spacing of
the horizontal lines. However, I am finding it difficult to figure out
whether -tabout- is the right option for simple summary tables - it
seems to be built for more complicated tasks.

-sutex- is also very easy but appears to be limited to just a few
statistics (mean, min, max).

Finally, I wrote something myself to summarize, extract the r()
information to a Stata matrix, and then convert that matrix to a LaTeX
table using the -outtable- command. For example,

cap program drop summaryrow
program summaryrow
	args VarToSum
	matrix `VarToSum'=J(1,4,.)
	summ `VarToSum', detail
	local j = 1
	local statistics_list mean p25 p50 p75
	foreach statistic of local statistics_list {
		matrix `VarToSum'[1,`j']= `r(`statistic')'
		local j = `j'+1
	matrix colnames `VarToSum' = `statistics_list'
	local myrowname: variable label `VarToSum'
	matrix rownames `VarToSum' = `myrowname'
summaryrow price
summaryrow mpg
summaryrow weight
matrix SummaryTable = price \ mpg \ weight
outtable using SummaryTable, ///
	mat(SummaryTable ) ///
	nobox center f(%9.0f) ///
	caption("Summary Statistics") clabel(summary-table) ///

This does allow me to use variable labels but is a bit hacked together
given my poor programming skills. Also, it would be nice to tweak the
spacing of the horizontal lines, which is probably possible but is a
bit beyond me.

In any event, I would really appreciate some guidance on how to
combine the best of these methods. I apologize if this has been
covered before or if the answer is obvious. I did some searching of
the Statalist archives and looked through the help files of the
different commands but was not able to figure this out. This is
probably the result of my own deficiencies rather than any problem of
the commands themselves.

Thanks very much for any help you can provide.
*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index