Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Display some results

    Dear All,

    I have the following (not yet completed) code:

    Code:
    capture program drop ame
    program define ame, eclass
    version 14
    
    syntax varlist(numeric), [Mixed(varlist min=1 max=2)]
    
    tempvar var
    tempvar p
    tempvar dpdxb
    tempvar dpdx
    tempvar d2pdxb2
    tempvar N
    tempvar var_matrix
    tempvar V
    tempvar dm
    tempvar cn
    tempvar AME
    
    matrix `var_matrix'=e(V)
    
    local `var' "`varlist'"
    local N=e(N)
    local m 0
    
    qui predict `p', pr
    qui gen `dpdxb' = `p'*(1-`p')
    *local `ame'_`v'=r(mean)
    qui gen `d2pdxb2'= `p'*(1-`p')*(1-`p') - `p'*`p'*(1-`p')
    
    foreach v of local `var'{
        if "`mixed'"==""{
            qui gen `dpdx'_`v' = `dpdxb'*_b[`v']
            qui sum `dpdx'_`v'
            local abc=r(mean)
            matrix vecaccum Jac_`v' = `d2pdxb2' `varlist'
            matrix Jac_`v' = Jac_`v'*_b[`v']/`N'
            local ++m
            local `m': colnumb(Jac_`v', "`v'")
            local cn "`m'"
            qui sum `dpdxb'
            matrix Jac_`v'[1,`cn'] = Jac_`v'[1,`cn'] + r(mean)
            matrix `V'_`v' = Jac_`v'*`var_matrix'*Jac_`v''
            local dm_`v'=sqrt(`V'_`v'[1,1])
                            
            di
            di
            di "Average marginal effects"
            di as text _dup(50) "-"
            di as text "     `v'          = " in  result %9.4f `abc'
            di as text "     SE_`v'       = " in  result %9.4f `dm_`v''
            di as text _dup(50) "-"
    }
    
    
    end
    Suppose I run the following estimation:

    Code:
    webuse bangladesh.dta, clear
    logit c_use age urban
    margins, dydx(age urban)
    
    
    Average marginal effects                                 Number of obs = 1,934
    Model VCE: OIM
    
    Expression: Pr(c_use), predict()
    dy/dx wrt:  age urban
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |      dy/dx   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             age |   .0017164   .0012116     1.42   0.157    -.0006583     .004091
           urban |   .1675704   .0224137     7.48   0.000     .1236403    .2115006
    ------------------------------------------------------------------------------
    Then I use the command in the code above:

    Code:
    ame age urban
    
    
    Average marginal effects
    --------------------------------------------------
         age          =    0.0017
         SE_age       =    0.0012
    --------------------------------------------------
    
    
    Average marginal effects
    --------------------------------------------------
         urban          =    0.1676
         SE_urban       =    0.0224
    --------------------------------------------------
    How can I get the two results after ame in only one table like the following:

    Code:
    Average marginal effects
    
    -----------------------------------------------
                    Coeff            SE
    age             0,0017           0.0012
    urban           0.1676           0.0224
    ------------------------------------------------
    Unfortunately I cannot figure out this by myself.

    Thanks a lot for your tips.

    Best

    Dario
Working...
X