2017-04-04 2 views
0

Ich versuche, den benutzergeschriebenen Befehl esttab (st0085_2) zu verwenden, um mir eine Tabelle der Regressionsschätzungen zu geben. Mein Code unten gibt nur die letzte Spalte (Verbrauch) an. Wie kann ich es ändern, so dass jede Spalte eine andere abhängige Variable von der Liste "Outcomelist" ist?Stata: esttab zeigt nur die letzte Spalte einer foreach-Schleife an?

global outcomelist assets_total output_total expense_total profit_total self_empl income_dep hours_self_age16_65 hours_outside_age16_65 consumption 

foreach var of global outcomelist { 
xi: reg `var' i.paire if samplemodel==1 & treatment==1, cluster(demi_paire) 
est store est_`var' 
global estimates1 est_`var' 
} 
esttab $estimates1, b(2) se(2) r2 obslast 

Antwort

1

Ich schrieb dies in einem Kommentar früher, aber ich denke, es ist eine Antwort stellt Ihnen die Frage:

Es sieht aus wie Sie über das Makro jede Schleife schreiben, so dass es speichert nur die letzte ein.

Vielleicht versuchen, global estimates1 est_`var' zu global estimates1 $estimates1 est_`var' zu ändern. Auf diese Weise fügen Sie dem Globalen hinzu, anstatt es zu überschreiben.

Ich würde auch vorschlagen, dass Sie lokale Makros anstelle von Globals im Allgemeinen verwenden.

Die Art und Weise würde ich Code, was Sie getan haben, ist wie folgt:

local outcomelist assets_total output_total expense_total profit_total self_empl income_dep hours_self_age16_65 hours_outside_age16_65 consumption 

// reset estimates1 local to empty just in case 
local estimates1 
foreach var in `outcomelist' { 
xi: reg `var' i.paire if samplemodel==1 & treatment==1, cluster(demi_paire) 
est store est_`var' 
local estimates1 `estimates1' est_`var' 
} 
esttab `estimates1', b(2) se(2) r2 obslast 
Verwandte Themen