Matrix mode in -estout- is limited. One approach, however, would be to
use a different layout for the matrix so that the groups are different
row equations, and then use -unstack- in -estout-. Example:
. mat A = (1, 2) \ (3, 4)
. mat coln A = 1979 2007
. mat rown A = male:mystat female:mystat
. estout matrix(A), unstack
----------------------------------------------------------------
                        A
                     male                    female
                     1979         2007         1979         2007
----------------------------------------------------------------
mystat                  1            2            3            4
----------------------------------------------------------------
A more flexible approach is to post the contents of the matrix into
several "estimation sets" and then use -estout- in normal, non-matrix
mode. Example (Stata 9 or newer required):
. mat A = (1,2,3,4)
. mat coln A = male:1979 male:2007 female:1979 female:2007
. mat rown A = mystat
. mat tmp = A[1...,"male:"]'
. ereturn post
. estadd matrix A = tmp
added matrix:
                  e(A) :  2 x 1
. eststo male
. mat tmp = A[1...,"female:"]'
. ereturn post
. estadd matrix A = tmp
added matrix:
                  e(A) :  2 x 1
. eststo female
. estout male female, cell((A["1979"] A["2007"]))
----------------------------------------------------------------
                     male                    female
                     1979         2007         1979         2007
----------------------------------------------------------------
mystat                  1            2            3            4
----------------------------------------------------------------
Note that the results are transposed for posting them (apostrophe at
the end of the definition of matrix tmp). Without transposing, the
syntax would be:
. mat tmp = A[1...,"male:"]
. ereturn post
. estadd matrix A = tmp
added matrix:
                  e(A) :  1 x 2
. eststo male
. mat tmp = A[1...,"female:"]
. ereturn post
. estadd matrix A = tmp
added matrix:
                  e(A) :  1 x 2
. eststo female
. estout male female, cell((A["1979"](transpose) A["2007"](transpose)))
----------------------------------------------------------------
                     male                    female
                     1979         2007         1979         2007
----------------------------------------------------------------
mystat                  1            2            3            4
----------------------------------------------------------------
Furthermore, note that -ereturn post- is required even though it does
not post anything.
ben
On Fri, Jan 30, 2009 at 6:03 PM, Howard Lempel <[email protected]> wrote:
> Hello all,
>
> I apologize if this email goes out to the list twice, but I suspect that the first version did not make it through because I forgot to post it in plain text.
>
> Is there a way to use the -estout- (available from SSC) matrix mode to output super column names above the column names of my matrix?
>
> I can get the results I want using the -showcoleq(c)- option of -matlist-, but would like to save my matrix.  I particularly like the feature that an equation name only shows up once if two columns share it.  An example of what I'd like to do using -matlist- follows:
>
> mat A = (1,2,3,4)
> mat coln A = male:1979 male:2007 female:1979 female:2007
> mat rown A = mystat
> matlist A, showcoleq(c)
>
>              |         male         |        female
>              |      1979       2007 |      1979       2007
> -------------+----------------------+----------------------
>       mystat |         1          2 |         3          4
>
>
> I can't get -estout- to do what I want:
> -estout matrix(A) using test2-
>
>                male:1979       male:2007       female:1979     female:2007
> mystat  1               2               3               4
>
>
> I've also had no luck with the -eqlabel- -mlabel- and -mtitle- options in -estout-, presumably because I haven't found a way to tell -estout- to treat columns 1 and 2 as one model and columns 3 and 4 as another.
>
> If it is relevant, the actual matrix I'm using consists of results from -inequal7-, -pctile-, and -sum-.  I'd also be grateful for any suggestions of other ways to create the table I'm after.  I suppose one way would be to add a row at the top of my matrix with the years and then to name every other column with a gender, but this would not generalize to a case where my column names are strings.
>
> Thanks very much for your consideration.
> Howie
>
> Howie Lempel
> Research Assistant
> The Brookings Institution | Economic Studies
>
> 1775 Massachusetts Ave NW | Washington DC 20036
> [email protected] | p: (202) 238-3576
>
>
>
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/