Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

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

From |
Wameq Raza <wameq.r@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Outreg for asclogit |

Date |
Thu, 4 Oct 2012 12:01:03 +0200 |

Dear John, Thank you so very much for the update and the clarification! I've been having a little trouble with missing data for my model, but once that's fixed, I'll give this a shot and will certainly let you know how it worked out. I really appreciate all the help you're giving me. Best Wameq On Thu, Oct 4, 2012 at 11:52 AM, Wameq Raza <wameq.r@gmail.com> wrote: > > Dear John, > Thank you so very much for the update and the clarification! I've been having a little trouble with > missing data for my model, but once that's fixed, I'll give this a shot and will certainly let you know > how it worked out. I really appreciate all the help you're giving me. > Best > Wameq > > > On Thu, Oct 4, 2012 at 11:29 AM, John Luke Gallup <jlgallup@pdx.edu> wrote: >> >> Wameq, >> >> A more flexible solution to the problem of getting the marginal effects for -asclogit- is to move the estimates from -estat mfx-, which is the idiosyncratic command to create the marginal effects, into the r() matrices in which they are placed by -margins-, the command that calculates marginal effects for almost all other estimation commands. Then one can use -outreg- directly to put marginal effects in a formatted table, with access to all of -outreg-'s options. >> >> There are a couple of hoops: only rclass programs can place values in r() matrices and the marginal effects from -estat mfx- must be reorganized. >> >> The following code does the trick: >> >> webuse choice, clear >> qui asclogit choice dealer, case(id) alternatives(car) casevars(sex income) >> qui estat mfx, at(sex=0 dealer=1) >> >> capture program drop Fill_rbV >> program Fill_rbV, rclass >> args b V >> return matrix b = `b' >> return matrix V = `V' >> return local cmd "margins" >> end >> >> local k = e(k_alt) >> forvalues i = 1/`k' { >> tempname b`i' V`i' >> mat `b`i'' = r(`e(alt`i')') >> mat `V`i'' = diag(`b`i''[.,2..2]) >> mat `V`i'' = `V`i'' * `V`i'' >> mat `b`i'' = `b`i''[.,1..1]' >> } >> >> outreg, clear >> forvalues i = 1/`k' { >> Fill_rbV `b`i'' `V`i'' >> outreg, margin merge ctitle("", "", "`e(alt`i')'") nodisplay >> } >> outreg using ascmfx, replay replace >> >> The table looks like this: >> >> >> ------------------------------------------------- >> American Japan Europe >> ------------------------------------------------- >> dealer American 0.017 -0.012 -0.004 >> (2.29)* (2.34)* (1.66) >> Japan -0.012 0.017 -0.004 >> (2.34)* (1.83) (1.03) >> Europe -0.004 -0.004 0.009 >> (1.66) (1.03) (1.30) >> casevars sex* 0.026 -0.161 0.135 >> (0.38) (2.03)* (1.76) >> income -0.008 0.006 0.002 >> (2.95)** (1.96) (1.14) >> N 885 885 885 >> ------------------------------------------------- >> >> >> >> >> John >> >> On Oct 2, 2012, at 9:39 PM, John Luke Gallup <jlgallup@pdx.edu> wrote: >> >> > Wameq, >> > >> > -outreg- (and probably -outreg2- and -estout-) don't handle marginal effects after -asclogit- because the results are saved in a very non-standard format. >> > >> > -estat mfx-, which is only for use after -asclogit- saves the marginal effects in r() matrices named after the logit categories. >> > >> > Things you can't do in -outreg- you can still do with a bit of work with -frmttable-, which is the formatting engine distributed with -outreg-. >> > >> > The following code creates an -outreg- compatible table (which can be merged, etc.) showing the marginal effects with t-statistics below them and asterisks for significance. >> > >> > First I calculate the marginal effects: >> > >> > webuse choice, clear >> > asclogit choice dealer, case(id) alternatives(car) casevars(sex income) >> > estat mfx, at(sex=0 dealer=1) >> > >> > Then I create a Stata matrix holding the marginal effects and t-stats (`b') and an indicator matrix for where the stars go (`stars', using the mata command). These are passed to -frmttable- to create a Word table (or TeX table) with the results. >> > >> > tempname b stars >> > loc ctitl `""","""' >> > forvalues i = 1/`e(k_alt)' { >> > tempname b`i' >> > mat `b`i'' = r(`e(alt`i')') >> > mat `b' = (nullmat(`b'), `b`i''[.,1..1], `b`i''[.,3..3]) >> > mat `stars' = (nullmat(`stars'), `b`i''[.,4..4]) >> > loc ctitl `"`ctitl' ,`e(alt`i')'"' >> > } >> > mata: st_matrix("`stars'", (abs(st_matrix("`stars'")):<0.05) + /// >> > (abs(st_matrix("`stars'")):<0.01)) >> > frmttable using ascmfx, statmat(`b') substat(1) /// >> > annotate(`stars') asymbol("*","**") ctitle(`ctitl') /// >> > replace note("* p<0.05; ** p<0.01") >> > >> > You could adapt this to report standard errors, p-values, or change the stars, etc. if you want. >> > Here's the table: >> > >> > --------------------------------------------------- >> > American Japan Europe >> > --------------------------------------------------- >> > dealer American 0.02* -0.01 -0.00 >> > (2.29)* (-2.34) (-1.66) >> > Japan -0.01* 0.02 -0.00 >> > (-2.34) (1.83) (-1.03) >> > Europe -0.00 -0.00 0.01 >> > (-1.66) (-1.03) (1.30) >> > casevars sex* 0.03 -0.16 0.13 >> > (0.38)* (-2.03) (1.76) >> > income -0.01** 0.01 0.00 >> > (-2.95) (1.96) (1.14) >> > --------------------------------------------------- >> > * p<0.05; ** p<0.01 >> > >> > >> > John >> > >> > >> > On Oct 2, 2012, at 1:38 PM, Wameq Raza <wameq.r@gmail.com> wrote: >> > >> >> Hi everyone, >> >> I was wondering if anyone could kindly tell me if there's a way to get >> >> the marginal effects of a asclogit model that I'm running >> >> into a table using outreg. >> >> More specifically, I'm generating the marginal effects using: estat >> >> mfx, var (variables); i'm doing this for both alt specific and >> >> case specific vars. >> >> Any help would be much appreciated! >> >> Best >> >> Wameq >> >> >> >> -- >> >> W A M E Q R A Z A >> >> * >> >> * For searches and help try: >> >> * http://www.stata.com/help.cgi?search >> >> * http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/ >> * http://www.ats.ucla.edu/stat/stata/ > > > > > -- > W A M E Q R A Z A -- W A M E Q R A Z A * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/

**References**:**st: Outreg for asclogit***From:*Wameq Raza <wameq.r@gmail.com>

**Re: st: Outreg for asclogit***From:*John Luke Gallup <jlgallup@pdx.edu>

**Re: st: Outreg for asclogit***From:*John Luke Gallup <jlgallup@pdx.edu>

- Prev by Date:
**Re: st: Outreg for asclogit** - Next by Date:
**st: Fwd: Creating date variables using loops** - Previous by thread:
**Re: st: Outreg for asclogit** - Next by thread:
**st: zoom on histograms** - Index(es):