Bookmark and Share

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]

st: nonfactorial combinations with -margins-


From   "Feiveson, Alan H. (JSC-SK311)" <[email protected]>
To   "[email protected]" <[email protected]>
Subject   st: nonfactorial combinations with -margins-
Date   Thu, 1 Aug 2013 13:29:52 -0500

Hi - In Stata 13, I've been struggling with getting -margins- to produce arbitrary combinations of several predictors without creating a huge list of all possible combinations. 


Example:

. sysuse auto,clear
(1978 Automobile Data)

. reg price headroom weight length

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  3,    70) =   13.23
       Model |   229789847     3  76596615.8           Prob > F      =  0.0000
    Residual |   405275549    70   5789650.7           R-squared     =  0.3618
-------------+------------------------------           Adj R-squared =  0.3345
       Total |   635065396    73  8699525.97           Root MSE      =  2406.2

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
    headroom |  -486.4429   388.7626    -1.25   0.215    -1261.806    288.9197
      weight |   4.674047   1.118074     4.18   0.000     2.444119    6.903975
      length |  -87.59202   39.88962    -2.20   0.031    -167.1494   -8.034676
       _cons |   9969.584   4304.018     2.32   0.023      1385.49    18553.68
------------------------------------------------------------------------------




Suppose I want to get predictions at only two combinations of these three predictors:(headroom = 2.4, weight = 2000, length = 150) and (headroom = 3.6, weight = 3000, length = 200). But if I specify  


. margins,at(headroom = (2.4 3.6) weight = (2000 3000) length = (150 200) )

Adjusted predictions                              Number of obs   =         74
Model VCE    : OLS

Expression   : Linear prediction, predict()

1._at        : headroom        =         2.4
               weight          =        2000
               length          =         150

2._at        : headroom        =         2.4
               weight          =        2000
               length          =         200

3._at        : headroom        =         2.4
               weight          =        3000
               length          =         150

4._at        : headroom        =         2.4
               weight          =        3000
               length          =         200

5._at        : headroom        =         3.6
               weight          =        2000
               length          =         150

6._at        : headroom        =         3.6
               weight          =        2000
               length          =         200

7._at        : headroom        =         3.6
               weight          =        3000
               length          =         150

8._at        : headroom        =         3.6
               weight          =        3000
               length          =         200

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   5011.412   616.6852     8.13   0.000     3781.473    6241.352
          2  |   631.8115    1654.47     0.38   0.704    -2667.925    3931.548
          3  |    9685.46   1488.435     6.51   0.000      6716.87    12654.05
          4  |   5305.859   655.2722     8.10   0.000     3998.959    6612.758
          5  |   4427.681   810.5569     5.46   0.000     2811.076    6044.286
          6  |    48.0801   1620.927     0.03   0.976    -3184.757    3280.917
          7  |   9101.728   1584.549     5.74   0.000     5941.445    12262.01
          8  |   4722.127   581.5246     8.12   0.000     3562.313    5881.941
------------------------------------------------------------------------------



I get all 8 combinations of these three variables at two values each, yet I only care about two of them. Clearly this can get out of hand if there are lots of predictors or values in these lists.


What I would like is something like 

. margins,at1(headroom = 2.4 weight = 2000 length = 150  ) at2(headroom = 3.6 weight = 3000 length = 200  )


but this is not allowed. 

Is there a syntax for doing what I want that I have overlooked?

Thanks


Al Feiveson


*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index