2013-09-17 3 views
1

Я хочу добавить строку для перечисления взвешенного среднего зависимой переменной в нижней части таблицы регрессии. Обычно я буду запускатьStata: estadd-взвешенный зависимый var mean (ysumm)

reg y x1 x2 x3 
estadd ysumm, mean 
eststo r1 
esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N ymean, labels("R-squared" "Observations" "Mean of Y")) 

Однако, я пробовал два способа получить взвешенное среднее без успеха. Первое:

reg y x1 x2 x3 
estadd ysumm [aw=pop], mean 

и я получаю ошибку:

weights not allowed 
r(101); 

Во-вторых, я вручную ввести средневзвешенные в матрицу, а затем сохранить его с estadd:

matrix define wtmeans=(mean1, mean2, mean3) 
estadd matrix wtmeans 

esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N wtmeans, labels("R-squared" "Observations" "Mean of Y")) 

Результирующий tex-файл содержит метку «Среднее значение Y», но строка пуста.

Как я могу получить эти взвешенные средства для отображения в таблице tex?

+0

Этот ответ работал на вас, или вы все еще застряли? – SOConnell

ответ

1

У меня была аналогичная проблема для решения сегодня. Частью решения является использование скалярной команды, а затем ссылка на эту матрицу скаляров в опции esttab, stat().

Вот такой синтаксис, который я использую для аналогичной проблемы. Это может немного отличаться для вас, так как вы тянете другой скаляр (я захватывая р-значения для конкретного совместного F-тест), но по сути это должно быть то же самое:

eststo clear 
eststo ALL: reg treatment var1 var2 var3 var4 if experiment 
qui test var1 var2 var3 
estadd scalar pvals=r(p) 

... повторить для других спецификаций ...

esttab _all using filename.csv, replace se r2 ar2 pr2 stat(pvals) star(+ .1 ++ .05 +++ .01) b(%9.3f) se(%9.3f) drop(o.*) label indicate() 

Таким образом, вы можете сделать следующее:

eststo clear 
eststo r1: reg y x1 x2 x3 
qui sum y [aw=pop] 
estadd scalar YwtdMean=r(mean) 
esttab r1 using results.tex, replace label title("Title") long nomtitles cells("b(fmt(a3) star)" t(par fmt(2))) stats(r2 N YwtdMean, labels("R-squared" "Observations" "Weighted Mean of Y")) 

Позвольте мне знать, если это работает.

+0

Комментарий минута: используйте обобщение, скупо, когда это все, что вам нужно. –