2015-08-30 2 views
0

У меня есть набор регрессий, которые структурированы с использованием -estout- в следующем формате:Какова эквивалентность estadd: ysumm in outreg2?

foreach yvar of varlist yvar1 yvar2 { 
eststo: quietly regress `yvar' xvar1 xvar2, robust 
estadd ysumm 
} 
esttab using mydoc.csv, se stats(N ymean r2_a) replace 

я обнаружил, что -outreg2- может создать лучшие таблицы регрессии, поэтому я переключение на -outreg2-. Тем не менее, я хочу включить ymean (среднее значение зависимой переменной) при использовании `-outreg2-.

Когда регрессирует с помощью -estout- и -estadd-, скаляры созданы, в том числе е (С.Д.), е (ymean) и т.д. При переходе на -outreg2-, я не могу назвать е (ymean). Ниже приводится мой код:

local first_loop yes 
foreach yvar of varlist yvar1 yvar2 { 
quietly regress `yvar' xvar1 xvar2, robust 
if "`first_loop'"=="yes"{ 
outreg2 using outreg2_test.xls, replace ctitle(`yvar') addstat(Mean, e(ymean)) label 
local first_loop no 
    } 
else { 
outreg2 using outreg2_test.xls, append ctitle(`yvar') addstat(Mean, e(ymean)) label 
    } 
} 

Мой код выше не работает, потому что STATA не распознает e (ymean). Является ли эта функция специфичной для -estadd-? Есть ли способ включить среднее значение зависимой переменной в таблицу вывода регрессии при использовании outreg2?

ответ

1

Я не знаком с estadd, но, похоже, e(ymean) не является стандартным регрессионным выходом для regress.

Простейший способ, вероятно, указать, что вы хотите сообщить также зависимую переменную (depvar), и что вы хотите сообщить среднее значение, а также коэффициент и s.e. - , например.,

outreg2 using outreg2_test.xls, replace ctitle(`yvar') depvar stats(coef se mean) label 

(Обратите внимание, что этот метод также сообщит средства своих независимых переменных.)

В качестве альтернативы, чтобы сообщить только ymean в нижней части колонны, можно суммировать зависимые переменные и добавить средний вручную:

local first_loop yes 
foreach yvar of varlist yvar1 yvar2 { 
    quietly regress `yvar' xvar1 xvar2, robust 
    quietly summ `yvar' 
    if "`first_loop'"=="yes"{ 
    outreg2 using outreg2_test.xls, replace ctitle(`yvar') addstat(Mean, r(mean)) label 
    local first_loop no 
    } 
    else { 
    outreg2 using outreg2_test.xls, append ctitle(`yvar') addstat(Mean, r(mean)) label 
    } 
} 

Вы можете также добавить «ymean» в местный макрос и использовать его в addstat() варианте, если предпочтительнее, и - в зависимости от вашего регрессионный анализ - вы можете добавить if e(sample) в команду summ.

+0

Что такое, или umrah? –

+0

@NickCox: Следствие редактирования сообщения на мобильном телефоне (то есть теперь оно исправлено). Спасибо, что поймали (очень странно) опечатку/автокоррекцию. –

+0

@brendan Спасибо за ваши решения. Первое решение дает то, что я хочу, но оно создает так много строк (каждое среднее значение в одной строке). Однако второе решение создает среднее значение всех наблюдений зависимой переменной, а не только тех, которые использовались в регрессии. Есть ли способ исправить это? –

Смежные вопросы