Announcement

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

  • Lincom - expression too long

    Hi All,

    I am trying to estimate the household consumption response to tax refunds using Prof Wooldridge's ETWFE (extended two-way fixed effects) regressions. Using the regression output, I want to add the RHS dummies to measure cumulative consumption following the tax refund receipt using the lincom command.

    However, this lincom command results in an "expression too long" error in Stata because I have too many household cohorts. I've looked into using nlcom and margins, but they take too long to estimate give the size of the underlying data.

    I've found a post in 2014 (https://www.statalist.org/forums/for...ssion-too-long) with the same problem that I am having but there was no solution to this problem in 2014. Has there been any developments in this area, where these long lincom expressions are now possible?

    Thank you.

    My lincom command that is too long looks like this:
    lincom 0.066645*POS_R_WA_14_10+0.059493*POS_R_WA_14_11+0. 042263*POS_R_WA_14_12+0.046164*POS_R_WA_14_13+0.05 9168*POS_R_WA_14_14+0.067295*POS_R_WA_14_15+0.1056 57*POS_R_WA_14_16+0.119961*POS_R_WA_14_17+0.026983 *POS_R_WA_14_18+0.005852*POS_R_WA_14_19+0.001625*P OS_R_WA_14_20+0.001951*POS_R_WA_14_21+0.0013*POS_R _WA_14_22+0.00065*POS_R_WA_14_23+0.000325*POS_R_WA _14_24+0.001951*POS_R_WA_14_4+0.027958*POS_R_WA_14 _5+0.074772*POS_R_WA_14_6+0.106307*POS_R_WA_14_7+0 .084525*POS_R_WA_14_8+0.099155*POS_R_WA_14_9 ///
    +0.065453*POS_R_WA_13_10+0.058429*POS_R_WA_13_11+0 .041507*POS_R_WA_13_12+0.045338*POS_R_WA_13_13+0.0 5811*POS_R_WA_13_14+0.066092*POS_R_WA_13_15+0.1037 68*POS_R_WA_13_16+0.117816*POS_R_WA_13_17+0.026501 *POS_R_WA_13_18+0.005747*POS_R_WA_13_19+0.001596*P OS_R_WA_13_20+0.001916*POS_R_WA_13_21+0.001277*POS _R_WA_13_22+0.000639*POS_R_WA_13_23+0.000319*POS_R _WA_13_24+0.000319*POS_R_WA_13_27+0.001916*POS_R_W A_13_4+0.027458*POS_R_WA_13_5+0.073436*POS_R_WA_13 _6+0.104406*POS_R_WA_13_7+0.096424*POS_R_WA_13_8+0 .101533*POS_R_WA_13_9 ///
    +0.0675*POS_R_WA_12_10+0.057188*POS_R_WA_12_11+0.0 40625*POS_R_WA_12_12+0.044375*POS_R_WA_12_13+0.056 875*POS_R_WA_12_14+0.064687*POS_R_WA_12_15+0.10156 2*POS_R_WA_12_16+0.115312*POS_R_WA_12_17+0.025938* POS_R_WA_12_18+0.005625*POS_R_WA_12_19+0.001562*PO S_R_WA_12_20+0.001875*POS_R_WA_12_21+0.00125*POS_R _WA_12_22+0.000625*POS_R_WA_12_23+0.000312*POS_R_W A_12_24+0.000312*POS_R_WA_12_27+0.001875*POS_R_WA_ 12_4+0.026875*POS_R_WA_12_5+0.071875*POS_R_WA_12_6 +0.1025*POS_R_WA_12_7+0.094375*POS_R_WA_12_8+0.116 875*POS_R_WA_12_9 ///
    +0.077894*POS_R_WA_11_10+0.059729*POS_R_WA_11_11+0 .040025*POS_R_WA_11_12+0.043719*POS_R_WA_11_13+0.0 56034*POS_R_WA_11_14+0.063732*POS_R_WA_11_15+0.100 062*POS_R_WA_11_16+0.113608*POS_R_WA_11_17+0.02555 4*POS_R_WA_11_18+0.005542*POS_R_WA_11_19+0.001539* POS_R_WA_11_20+0.001847*POS_R_WA_11_21+0.001232*PO S_R_WA_11_22+0.000616*POS_R_WA_11_23+0.000308*POS_ R_WA_11_24+0.000308*POS_R_WA_11_27+0.001847*POS_R_ WA_11_4+0.026478*POS_R_WA_11_5+0.070813*POS_R_WA_1 1_6+0.100985*POS_R_WA_11_7+0.09298*POS_R_WA_11_8+0 .115148*POS_R_WA_11_9 ///
    +0.076736*POS_R_WA_10_10+0.069457*POS_R_WA_10_11+0 .043676*POS_R_WA_10_12+0.043069*POS_R_WA_10_13+0.0 55202*POS_R_WA_10_14+0.062784*POS_R_WA_10_15+0.098 574*POS_R_WA_10_16+0.11192*POS_R_WA_10_17+0.025174 *POS_R_WA_10_18+0.00546*POS_R_WA_10_19+0.001517*PO S_R_WA_10_20+0.00182*POS_R_WA_10_21+0.001213*POS_R _WA_10_22+0.000607*POS_R_WA_10_23+0.000303*POS_R_W A_10_24+0.000303*POS_R_WA_10_27+0.00182*POS_R_WA_1 0_4+0.026084*POS_R_WA_10_5+0.06976*POS_R_WA_10_6+0 .099484*POS_R_WA_10_7+0.091598*POS_R_WA_10_8+0.113 436*POS_R_WA_10_9 ///
    +0.075839*POS_R_WA_9_10+0.068645*POS_R_WA_9_11+0.0 50959*POS_R_WA_9_12+0.046463*POS_R_WA_9_13+0.05455 6*POS_R_WA_9_14+0.06205*POS_R_WA_9_15+0.097422*POS _R_WA_9_16+0.110612*POS_R_WA_9_17+0.02488*POS_R_WA _9_18+0.005396*POS_R_WA_9_19+0.001499*POS_R_WA_9_2 0+0.001799*POS_R_WA_9_21+0.001199*POS_R_WA_9_22+0. 0006*POS_R_WA_9_23+0.0003*POS_R_WA_9_24+0.0003*POS _R_WA_9_27+0.001799*POS_R_WA_9_4+0.025779*POS_R_WA _9_5+0.068945*POS_R_WA_9_6+0.098321*POS_R_WA_9_7+0 .090528*POS_R_WA_9_8+0.11211*POS_R_WA_9_9 ///
    +0.074941*POS_R_WA_8_10+0.067832*POS_R_WA_8_11+0.0 50355*POS_R_WA_8_12+0.054206*POS_R_WA_8_13+0.05746 4*POS_R_WA_8_14+0.061315*POS_R_WA_8_15+0.096268*PO S_R_WA_8_16+0.109301*POS_R_WA_8_17+0.024585*POS_R_ WA_8_18+0.005332*POS_R_WA_8_19+0.001481*POS_R_WA_8 _20+0.001777*POS_R_WA_8_21+0.001185*POS_R_WA_8_22+ 0.000592*POS_R_WA_8_23+0.000296*POS_R_WA_8_24+0.00 0296*POS_R_WA_8_27+0.001777*POS_R_WA_8_4+0.025474* POS_R_WA_8_5+0.068128*POS_R_WA_8_6+0.097156*POS_R_ WA_8_7+0.089455*POS_R_WA_8_8+0.110782*POS_R_WA_8_9 ///
    +0.073804*POS_R_WA_7_10+0.066803*POS_R_WA_7_11+0.0 49592*POS_R_WA_7_12+0.053384*POS_R_WA_7_13+0.06709 5*POS_R_WA_7_14+0.065053*POS_R_WA_7_15+0.094807*PO S_R_WA_7_16+0.107643*POS_R_WA_7_17+0.024212*POS_R_ WA_7_18+0.005251*POS_R_WA_7_19+0.001459*POS_R_WA_7 _20+0.00175*POS_R_WA_7_21+0.001167*POS_R_WA_7_22+0 .000583*POS_R_WA_7_23+0.000292*POS_R_WA_7_24+0.000 292*POS_R_WA_7_27+0.00175*POS_R_WA_7_4+0.025088*PO S_R_WA_7_5+0.067095*POS_R_WA_7_6+0.095683*POS_R_WA _7_7+0.088098*POS_R_WA_7_8+0.109102*POS_R_WA_7_9 ///
    +0.07289*POS_R_WA_6_10+0.065975*POS_R_WA_6_11+0.04 8977*POS_R_WA_6_12+0.052723*POS_R_WA_6_13+0.066263 *POS_R_WA_6_14+0.070585*POS_R_WA_6_15+0.099683*POS _R_WA_6_16+0.106309*POS_R_WA_6_17+0.023912*POS_R_W A_6_18+0.005186*POS_R_WA_6_19+0.001441*POS_R_WA_6_ 20+0.001729*POS_R_WA_6_21+0.001152*POS_R_WA_6_22+0 .000576*POS_R_WA_6_23+0.000288*POS_R_WA_6_24+0.000 288*POS_R_WA_6_27+0.001729*POS_R_WA_6_4+0.024777*P OS_R_WA_6_5+0.066263*POS_R_WA_6_6+0.094497*POS_R_W A_6_7+0.087007*POS_R_WA_6_8+0.10775*POS_R_WA_6_9 ///
    +0.071368*POS_R_WA_5_10+0.064598*POS_R_WA_5_11+0.0 47955*POS_R_WA_5_12+0.051622*POS_R_WA_5_13+0.06488 *POS_R_WA_5_14+0.069111*POS_R_WA_5_15+0.110296*POS _R_WA_5_16+0.112271*POS_R_WA_5_17+0.023413*POS_R_W A_5_18+0.005078*POS_R_WA_5_19+0.00141*POS_R_WA_5_2 0+0.001693*POS_R_WA_5_21+0.001128*POS_R_WA_5_22+0. 000564*POS_R_WA_5_23+0.000282*POS_R_WA_5_24+0.0002 82*POS_R_WA_5_27+0.001693*POS_R_WA_5_4+0.02426*POS _R_WA_5_5+0.06488*POS_R_WA_5_6+0.092525*POS_R_WA_5 _7+0.08519*POS_R_WA_5_8+0.105501*POS_R_WA_5_9 ///
    +0.069716*POS_R_WA_4_10+0.063103*POS_R_WA_4_11+0.0 46845*POS_R_WA_4_12+0.050427*POS_R_WA_4_13+0.06337 8*POS_R_WA_4_14+0.067512*POS_R_WA_4_15+0.107743*PO S_R_WA_4_16+0.131992*POS_R_WA_4_17+0.023698*POS_R_ WA_4_18+0.00496*POS_R_WA_4_19+0.001378*POS_R_WA_4_ 20+0.001653*POS_R_WA_4_21+0.001102*POS_R_WA_4_22+0 .000551*POS_R_WA_4_23+0.000276*POS_R_WA_4_24+0.000 276*POS_R_WA_4_27+0.001653*POS_R_WA_4_4+0.023698*P OS_R_WA_4_5+0.063378*POS_R_WA_4_6+0.090383*POS_R_W A_4_7+0.083219*POS_R_WA_4_8+0.103059*POS_R_WA_4_9 ///
    +0.069391*POS_R_WA_3_10+0.062809*POS_R_WA_3_11+0.0 46626*POS_R_WA_3_12+0.050192*POS_R_WA_3_13+0.06308 3*POS_R_WA_3_14+0.067197*POS_R_WA_3_15+0.107241*PO S_R_WA_3_16+0.131651*POS_R_WA_3_17+0.027976*POS_R_ WA_3_18+0.004937*POS_R_WA_3_19+0.001371*POS_R_WA_3 _20+0.001646*POS_R_WA_3_21+0.001097*POS_R_WA_3_22+ 0.000549*POS_R_WA_3_23+0.000274*POS_R_WA_3_24+0.00 0274*POS_R_WA_3_27+0.001646*POS_R_WA_3_4+0.023587* POS_R_WA_3_5+0.063083*POS_R_WA_3_6+0.089962*POS_R_ WA_3_7+0.08283*POS_R_WA_3_8+0.102578*POS_R_WA_3_9 ///
    +0.069296*POS_R_WA_2_10+0.062723*POS_R_WA_2_11+0.0 46563*POS_R_WA_2_12+0.050123*POS_R_WA_2_13+0.06299 6*POS_R_WA_2_14+0.067105*POS_R_WA_2_15+0.107094*PO S_R_WA_2_16+0.131471*POS_R_WA_2_17+0.027938*POS_R_ WA_2_18+0.005752*POS_R_WA_2_19+0.001917*POS_R_WA_2 _20+0.001643*POS_R_WA_2_21+0.001096*POS_R_WA_2_22+ 0.000548*POS_R_WA_2_23+0.000274*POS_R_WA_2_24+0.00 0274*POS_R_WA_2_27+0.001643*POS_R_WA_2_4+0.023555* POS_R_WA_2_5+0.062996*POS_R_WA_2_6+0.089838*POS_R_ WA_2_7+0.082717*POS_R_WA_2_8+0.102438*POS_R_WA_2_9 ///
    +0.069201*POS_R_WA_1_10+0.062637*POS_R_WA_1_11+0.0 46499*POS_R_WA_1_12+0.050055*POS_R_WA_1_13+0.06291 *POS_R_WA_1_14+0.067013*POS_R_WA_1_15+0.106947*POS _R_WA_1_16+0.131565*POS_R_WA_1_17+0.027899*POS_R_W A_1_18+0.005744*POS_R_WA_1_19+0.002735*POS_R_WA_1_ 20+0.001915*POS_R_WA_1_21+0.001094*POS_R_WA_1_22+0 .000547*POS_R_WA_1_23+0.000274*POS_R_WA_1_24+0.000 274*POS_R_WA_1_27+0.001641*POS_R_WA_1_4+0.023523*P OS_R_WA_1_5+0.06291*POS_R_WA_1_6+0.089716*POS_R_WA _1_7+0.082604*POS_R_WA_1_8+0.102298*POS_R_WA_1_9 ///
    +0.069182*POS_R_WA_0_10+0.06262*POS_R_WA_0_11+0.04 6486*POS_R_WA_0_12+0.050041*POS_R_WA_0_13+0.062893 *POS_R_WA_0_14+0.066995*POS_R_WA_0_15+0.106918*POS _R_WA_0_16+0.131529*POS_R_WA_0_17+0.027892*POS_R_W A_0_18+0.005742*POS_R_WA_0_19+0.002734*POS_R_WA_0_ 20+0.002188*POS_R_WA_0_21+0.001094*POS_R_WA_0_22+0 .000547*POS_R_WA_0_23+0.000273*POS_R_WA_0_24+0.000 273*POS_R_WA_0_27+0.001641*POS_R_WA_0_4+0.023517*P OS_R_WA_0_5+0.062893*POS_R_WA_0_6+0.089691*POS_R_W A_0_7+0.082581*POS_R_WA_0_8+0.10227*POS_R_WA_0_9 ///
    +0.069182*POS_R_WB_1_10+0.06262*POS_R_WB_1_11+0.04 6486*POS_R_WB_1_12+0.050041*POS_R_WB_1_13+0.062893 *POS_R_WB_1_14+0.066995*POS_R_WB_1_15+0.106918*POS _R_WB_1_16+0.131529*POS_R_WB_1_17+0.027892*POS_R_W B_1_18+0.005742*POS_R_WB_1_19+0.002734*POS_R_WB_1_ 20+0.002188*POS_R_WB_1_21+0.001094*POS_R_WB_1_22+0 .000547*POS_R_WB_1_23+0.000273*POS_R_WB_1_24+0.000 273*POS_R_WB_1_27+0.001641*POS_R_WB_1_4+0.023517*P OS_R_WB_1_5+0.062893*POS_R_WB_1_6+0.089691*POS_R_W B_1_7+0.082581*POS_R_WB_1_8+0.10227*POS_R_WB_1_9 ///
    +0.069182*POS_R_WB_2_10+0.06262*POS_R_WB_2_11+0.04 6486*POS_R_WB_2_12+0.050041*POS_R_WB_2_13+0.062893 *POS_R_WB_2_14+0.066995*POS_R_WB_2_15+0.106918*POS _R_WB_2_16+0.131529*POS_R_WB_2_17+0.027892*POS_R_W B_2_18+0.005742*POS_R_WB_2_19+0.002734*POS_R_WB_2_ 20+0.002188*POS_R_WB_2_21+0.001094*POS_R_WB_2_22+0 .000547*POS_R_WB_2_23+0.000273*POS_R_WB_2_24+0.000 273*POS_R_WB_2_27+0.001641*POS_R_WB_2_4+0.023517*P OS_R_WB_2_5+0.062893*POS_R_WB_2_6+0.089691*POS_R_W B_2_7+0.082581*POS_R_WB_2_8+0.10227*POS_R_WB_2_9 ///
    +0.069182*POS_R_WB_3_10+0.06262*POS_R_WB_3_11+0.04 6486*POS_R_WB_3_12+0.050041*POS_R_WB_3_13+0.062893 *POS_R_WB_3_14+0.066995*POS_R_WB_3_15+0.106918*POS _R_WB_3_16+0.131529*POS_R_WB_3_17+0.027892*POS_R_W B_3_18+0.005742*POS_R_WB_3_19+0.002734*POS_R_WB_3_ 20+0.002188*POS_R_WB_3_21+0.001094*POS_R_WB_3_22+0 .000547*POS_R_WB_3_23+0.000273*POS_R_WB_3_24+0.000 273*POS_R_WB_3_27+0.001641*POS_R_WB_3_4+0.023517*P OS_R_WB_3_5+0.062893*POS_R_WB_3_6+0.089691*POS_R_W B_3_7+0.082581*POS_R_WB_3_8+0.10227*POS_R_WB_3_9 ///
    +0.069182*POS_R_WB_4_10+0.06262*POS_R_WB_4_11+0.04 6486*POS_R_WB_4_12+0.050041*POS_R_WB_4_13+0.062893 *POS_R_WB_4_14+0.066995*POS_R_WB_4_15+0.106918*POS _R_WB_4_16+0.131529*POS_R_WB_4_17+0.027892*POS_R_W B_4_18+0.005742*POS_R_WB_4_19+0.002734*POS_R_WB_4_ 20+0.002188*POS_R_WB_4_21+0.001094*POS_R_WB_4_22+0 .000547*POS_R_WB_4_23+0.000273*POS_R_WB_4_24+0.000 273*POS_R_WB_4_27+0.001641*POS_R_WB_4_4+0.023517*P OS_R_WB_4_5+0.062893*POS_R_WB_4_6+0.089691*POS_R_W B_4_7+0.082581*POS_R_WB_4_8+0.10227*POS_R_WB_4_9

  • #2
    This looks like a linear prediction and most commands will have a -predict- option which is safer than calculating the prediction in this way. If you do not need the standard errors, just use display. If you need the standard errors and there is no way to get the predictions, the -expression()- option of margins might allow a longer expression than lincom.

    Code:
    margins, expression(...)
    Another alternative is xlincom from SSC.

    Code:
    ssc describe xlincom

    Comment


    • #3
      Hi Andrew, Thank you for your suggestion. Is there a way that I can use the output in one xlincom command as an input to another xlincom command?

      For example, say that I calculate
      Code:
      xlincom NEG_F_WB_1_10 + NEG_F_WB_1_11
      which is stored as
      Code:
      lc_1
      Can I then do something like this?
      Code:
      xlincom lc_1 + NEG_F_WB_1_13

      Comment


      • #4
        There is a -repost- option which should allow you to do so.

        Code:
        webuse regress, clear
        set seed 12122023
        gen x4= rnormal()*100
        regress y x1-x4
        *ALL
        xlincom all = 300*x1+ 15*x2 + 500*x3 + 29*x4
        
        *IN PARTS
        webuse regress, clear
        set seed 12122023
        gen x4= rnormal()*100
        regress y x1-x4
        xlincom part1=300*x1+ 15*x2, repost 
        xlincom part2=500*x3 + 29*x4, repost
        xlincom _b[xlincom: part1]+ _b[xlincom: part2]
        Res.:

        Code:
        . *ALL
        
        . 
        . xlincom all = 300*x1+ 15*x2 + 500*x3 + 29*x4
        
                 all:  300*x1+ 15*x2 + 500*x3 + 29*x4 = 0
        
        ------------------------------------------------------------------------------
                   y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
                 all |   473.8588   329.0902     1.44   0.152    -176.6511    1124.369
        ------------------------------------------------------------------------------
        
        
        . *IN PARTS
        
        
        . xlincom part1=300*x1+ 15*x2, repost 
        
               part1:  300*x1+ 15*x2 = 0
        
        ------------------------------------------------------------------------------
                   y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
        Main         |
                  x1 |   1.476302   1.074671     1.37   0.172    -.6479918    3.600596
                  x2 |   2.272762   .8624234     2.64   0.009     .5680166    3.977508
                  x3 |  -.0061019   .0005554   -10.99   0.000    -.0071997    -.005004
                  x4 |  -.0024905   .0024559    -1.01   0.312    -.0073451    .0023641
               _cons |   35.93037   4.385505     8.19   0.000     27.26158    44.59916
        -------------+----------------------------------------------------------------
        xlincom      |
               part1 |    476.982   328.9303     1.45   0.149    -173.2119    1127.176
        ------------------------------------------------------------------------------
        
        . 
        . xlincom part2=500*x3 + 29*x4, repost
        
               part2:  500*x3 + 29*x4 = 0
        
        ------------------------------------------------------------------------------
                   y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
        Main         |
                  x1 |   1.476302   1.074671     1.37   0.172    -.6479918    3.600596
                  x2 |   2.272762   .8624234     2.64   0.009     .5680166    3.977508
                  x3 |  -.0061019   .0005554   -10.99   0.000    -.0071997    -.005004
                  x4 |  -.0024905   .0024559    -1.01   0.312    -.0073451    .0023641
               _cons |   35.93037   4.385505     8.19   0.000     27.26158    44.59916
        -------------+----------------------------------------------------------------
        xlincom      |
               part1 |    476.982   328.9303     1.45   0.149    -173.2119    1127.176
               part2 |  -3.123165   .2821034   -11.07   0.000    -3.680797   -2.565534
        ------------------------------------------------------------------------------
        
        . 
        . xlincom _b[xlincom: part1]+ _b[xlincom: part2]
        
                lc_1:  _b[xlincom: part1]+ _b[xlincom: part2] = 0
        
        ------------------------------------------------------------------------------
                   y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
        -------------+----------------------------------------------------------------
                lc_1 |   473.8588   329.0902     1.44   0.152    -176.6511    1124.369
        ------------------------------------------------------------------------------

        Comment


        • #5
          It works! Thank you so much.

          Comment

          Working...
          X