Создание таблиц качества публикации в Stata

Таблицы Stata в целом ясны и информативны. Однако они не соответствуют формату или эстетическому качеству, которые обычно используются в публикациях. Несколько пользователей Stata написали программы, которые создают таблицы качества публикации. В этой статье будет обсуждаться esttab (думаю, «таблица оценок») Бена Джанна. Команда esttab берет результаты предыдущей оценки или других команд, помещает их в таблицу качества публикации, а затем сохраняет эту таблицу в формате, который вы используете непосредственно в своей статье, например RTF или LaTeX. Основные темы этой статьи включают создание таблиц результатов регрессии, таблиц сводной статистики и таблиц частот.

Пакет Estout

Команда esttab - это всего лишь один из членов семейства команд или пакета, называемого estout. Фактически, esttab - это просто «оболочка» для команды estout. Команда estout дает вам полный контроль над таблицей, которую нужно создать, но гибкость требует сложности, а estout довольно сложно использовать. Команда esttab запускает estout за вас и обрабатывает многие детали, которые требуются estout, позволяя вам относительно легко создавать наиболее распространенные таблицы. Мы также обсудим estpost, который помещает результаты, такие как сводная статистика, в форму, с которой может работать esttab. Возможность обрабатывать сводную статистику и частоты в дополнение к результатам регрессии - одна из причин, по которой мы решили сосредоточить эту статью на esttab.

О рабочем процессе создания таблиц

Имейте в виду, что у вас всегда есть альтернатива использованию esttab: просто создайте нужные таблицы в Word или в своей любимой программе обработки текста, копируя и вставляя необходимые числа из выходных данных Stata. Это отнимает много времени и утомительно. С другой стороны, попытка выяснить, как заставить esttab предоставить вам нужную вам таблицу, также может занять много времени, и нет никакой гарантии, что она сможет создать именно ту таблицу, которую вы хотите. Обязательно учтите возможность того, что создание конкретной таблицы вручную может быть быстрее, чем использование esttab. Многое зависит от того, сколько таблиц вам нужно создать и сколько чисел они содержат. Если вы можете заставить esttab дать вам что-то близкое к тому, что вы хотите, но тратите много времени, пытаясь выяснить, как именно получить что вы хотите, просто отредактируйте то, что у вас есть.

Большинству людей легче сначала получить набор (надеюсь) окончательных результатов, а затем работать над тем, как их представить. Мы не рекомендуем запускать esttab до тех пор, пока вы не будете достаточно уверены, что пришли к результатам, которые хотите опубликовать.

Установка esttab

Поскольку пакет estout не является частью официального Stata, вы должны установить его перед использованием. Он доступен в архиве компонентов статистического программного обеспечения (SSC) и может быть установлен с помощью команды ssc install в Stata:

ssc установить estout

Вам нужно сделать это только один раз - не помещайте эту команду в свои файлы исследований.

Периодически проверяйте наличие обновлений с помощью adoupdate.

Основы

Команде esttab требуются некоторые результаты, поэтому загрузите автоматический набор данных, поставляемый со Stata, и выполните базовую регрессию:

sysuse auto

reg mpg вес иностранный

Вы можете увидеть основную функцию esttab, просто запустив ее вообще без каких-либо опций:

Это помещает результаты модели в таблицу в окне результатов Stata. Просмотр его в окне результатов полезен для тестирования спецификации таблицы, но когда у вас есть то, что вы хотите, вы можете сохранить его в формате файла, который вы используете для своей статьи. Таблица по умолчанию содержит многие функции, которые вы ожидаете от таблицы результатов регрессии в журнальной статье, включая округленные коэффициенты и звездочки для значимости. Однако обратите внимание, что числа в скобках являются t-статистикой. Используйте опцию se, если вы хотите заменить их стандартными ошибками:

Команда esttab использует текущее содержимое вектора e () (информация о последней команде оценки), а не результаты последней отображаемой регрессии. Если вы запустите команду logit с опцией или, Stata отобразит отношения шансов:

логит иностранный миль на галлон, или

Однако e (b) по-прежнему содержит коэффициенты, и по умолчанию это то, что будет отображать esttab. Он также помечает статистику теста как t-статистику, а не как z-статистику, как это делает вывод logit:

Если вы хотите, чтобы в вашей таблице были соотношения шансов, дайте esttab опцию eform (экспоненциальная форма). Если вы хотите, чтобы в таблице говорилось «z статистика в скобках», а не t, используйте опцию z (обратите внимание, что опция z никаким образом не меняет числа):

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

Сохранение таблицы в формате вашей статьи

Чтобы сохранить таблицу как файл RTF (Rich Text Format), добавьте в команду имя файла .rtf прямо перед запятой для параметров. Также добавьте параметр замены, чтобы он мог перезаписать предыдущие версии файла.

esttab с помощью logit.rtf, замените eform z

Rich Text Format включает в себя информацию о форматировании, а также сам текст и может быть открыт непосредственно в Word и других текстовых редакторах. Щелкните здесь, чтобы увидеть, как выглядит файл RTF.

Процесс сохранения таблицы как файла LaTeX идентичен: просто замените .rtf на .tex. Есть некоторые специальные параметры, которые применяются к LaTeX, например, фрагмент для создания фрагмента таблицы, который может быть добавлен к существующей таблице. HTML (.html) - еще один полезный вариант формата, и есть много других.

Вы можете сохранить таблицу как файл с переменными, разделенными запятыми (CSV), который можно легко прочитать в Excel, установив расширение файла на .csv. Однако внимательно подумайте, нельзя ли сделать то, что вы собираетесь делать в Excel, лучше (и особенно с большей воспроизводимостью) в Stata.

Таблицы с несколькими моделями

Чтобы создать таблицу, содержащую оценки по нескольким моделям, первым делом нужно запустить каждую модель и сохранить их оценки для будущего использования. Вы можете сохранить оценки либо в официальном хранилище оценок команды Stata, обычно сокращенно est sto, либо с вариантом eststo, включенным в пакет estout. Вариант eststo добавляет несколько функций, но мы не будем использовать их в этой статье, поэтому не имеет значения, какую команду вы используете. Базовый синтаксис идентичен: команда, затем имя, которое вы хотите присвоить этому набору оценок. Используйте это для создания набора вложенных моделей:

reg mpg foreign

est sto m1

reg миль на галлон иностранный вес

est sto m2

reg миль на галлон иностранный вес смещение gear_ratio

est sto m3

Чтобы esttab создал таблицу на основе одного набора сохраненных оценок, просто укажите имя оценок, которые вы хотите использовать:

Но вы не ограничены одним набором:

эсттаб м1 м2 м3

Сводная статистика (на уровне модели)

N (количество наблюдений) для каждой модели отображается по умолчанию, но вы можете добавить другую статистику на уровне модели. Варианты включают R-квадрат (r2), AIC (aic) и BIC (bic). Любой другой скаляр в векторе e () также может быть добавлен с помощью опции scalar (). Например, вы можете добавить F-статистику модели, сохраненную как e (F), с опцией скаляр (F). Вы не можете контролировать порядок, в котором они перечислены, но можете переместить N в конец с помощью obslast. Вы можете полностью удалить N с помощью noobs.

esttab m1 m2 m3, se aic obslast скаляр (F) bic r2

Статистика ячеек (уровня переменных)

В дополнение к t-статистике, z-статистике и стандартным ошибкам, esttab может помещать p-значения и доверительные интервалы в круглые скобки с опциями p и ci. Вы можете вообще не указывать вторичное количество в скобках с помощью опции not (no t).

Вы также можете заменить основные числа. Вариант бета заменяет их стандартизированными коэффициентами бета. Параметр main () позволяет заменить их любой другой величиной из вектора e ().

Если вы предпочитаете, чтобы статистика была в скобках в той же строке, что и коэффициент, используйте широкую опцию.

esttab m1 m2 m3, широкие ci noobs

Заголовки, примечания и ярлыки

Вы можете дать таблице общий заголовок с помощью опции title (). Введите желаемый заголовок в круглые скобки.

Если вы хотите удалить примечание внизу, в котором объясняются числа в скобках и значение звездочек, используйте опцию без примечаний. Если вы хотите добавить заметки, используйте опцию addnotes (), указав нужные заметки в скобках. Если вам нужно несколько строк заметок, заключите каждую строку в кавычки.

По умолчанию каждая модель в таблице помечена номером и названием. Если вы не хотите, чтобы число отображалось, используйте вариант без числа. По умолчанию в качестве названия модели используется имя зависимой переменной модели, но вы можете изменить названия модели с помощью mtitle (). Каждый заголовок заключен в кавычки внутри круглых скобок, и порядок должен соответствовать порядку, в котором сохраненные оценки перечислены в основной команде.

Параметр метки указывает esttab использовать метки переменных, а не имена переменных. Это означает, что вы можете точно контролировать, как переменная отображается в списке, изменяя ее метку - просто убедитесь, что метка дает адекватное описание переменной, но не слишком длинное. На этикетках ниже показаны некоторые потенциальные проблемы.

esttab m1 m2 m3, этикетка без номера title («Модели MPG») mtitle («Модель 1» «Модель 2» «Модель 3»)

Если вы не хотите изменять фактические метки переменных, вы можете переопределить их с помощью опции coeflabel (). Поместите пары имя переменной / метка, которые вы хотите использовать, в круглые скобки. Любая переменная, для которой вы не укажете метку, будет указана с ее фактическим именем.

esttab m1 m2 m3, coeflabel (иномарка «Иностранный автомобиль» смещение «Смещение» gear_ratio «Передаточное число» _cons «Постоянная»)

Форматы

Как правило, вы можете изменить формат числа, поместив желаемый формат в круглые скобки после опции, предлагающей отобразить это число. Используйте b () для форматирования бета-версий и t () для форматирования статистики t.

esttab m1 m2 m3, b (% 9.1f) t (% 9.1f) r2 (% 9.6f)

Звезды и значение

Параметр звездочка () позволяет контролировать использование звездочек. Внутри скобок вы поместите список символов в паре с числовым порогом, ниже которого они будут применяться к коэффициенту. По умолчанию эквивалентно:

звездочка (* 0,05 ** 0,01 *** 0,001)

Обратите внимание, что star () обращает внимание как на числа, так и на то, как вы их форматируете: если вы не включите начальные нули, они не появятся в таблице.

esttab m1 m2 m3, p звездочка (+ 0,1 * 0,05 ** 0,01)

Таблицы сводной статистики

Команда esttab предназначена для извлечения информации из вектора e (), который используется только командами оценки. Однако estpost будет брать результаты из вектора r (), используемого другими командами, и размещать их в векторе e (). Это позволяет esttab создавать таблицы на основе этих результатов, но, как правило, вам нужно будет дать больше указаний о том, что эта таблица должна содержать.

Чтобы сохранить результаты команды в e (), поместите перед ней команду estpost:

эстпост сумма цена зарубежный миль на галлон

В итоговой таблице указано официальное название каждой величины. Вы будете использовать эти имена в последующих командах esttab.

При работе с результатами регрессии esttab знает, что e (b) является основной интересующей величиной, и соответственно строит таблицу. В сводной статистике вам нужно указать esttab, что должна содержать таблица, с помощью опции cell (). Технически это вариант для estout, а не для esttab, но esttab передаст его эстауту, продолжая выполнять за вас некоторую другую работу. Однако, если вы хотите прочитать полную документацию по опции cell (), вам нужно набрать help estout, а не help esttab.

Если вам нужна таблица только средних значений, используйте cell (mean):

Вы можете указать несколько количеств:

esttab, ячейка (среднее стандартное отклонение)

Если вы хотите, чтобы количества отображались в одной строке, вы можете сгруппировать их в кавычки или круглые скобки. Следующие команды эквивалентны:

esttab, ячейка ("среднее стандартное

отклонение ") esttab, ячейка ((среднее стандартное отклонение))

Обратите внимание, что в этом случае кавычки не обозначают строки!

Номера моделей и названия моделей не имеют особого смысла для этой таблицы (тем более, что заголовок на этом этапе пуст), поэтому рассмотрите возможность удаления их с помощью nonumber и nomtitle:

esttab, ячейка ((среднее отклонение)) nonumber nomtitle

Чтобы управлять числовым форматом результатов, перечисленных в cell (), используйте параметр fmt ():

esttab, ячейка ((среднее (fmt (% 9.1f)) sd (fmt (% 9.2f)))) nonumber nomtitle

Есть много других вариантов. Полезным дополнением к этой таблице являются круглые скобки:

esttab, cell ((mean sd (par))) nonumber nomtitle

Метки заголовков столбцов также оставляют желать лучшего. Вы можете переопределить их с помощью параметра label (), связанного с каждым количеством в cell (). Это отличается от общей опции меток, которая указывает esttab заменять имена переменных в начале каждой строки на метки переменных. Вы можете использовать оба (или использовать coeflabel () для самостоятельной установки меток строк):

esttab, cell ((mean (label (Mean)) sd (par label (Стандартное отклонение)))) label nonumber nomtitle

Проблема теперь в том, что «Стандартное отклонение» пришлось усечь, потому что его столбец недостаточно широк. Вы можете установить ширину столбцов с помощью параметра modelwidth () (напомним, что при работе с результатами регрессии каждый столбец является моделью). Если вы поместите одно число в круглые скобки, ширина символов всех столбцов будет установлена ​​на это число. Если вы дадите список чисел, они будут применены к столбцам в следующем порядке:

esttab, modelwidth (10 20) cell ((mean (label (Mean)) sd (par label (Standard Deviation)))) label nomtitle nonumber

По общему признанию, это никогда не будет качеством публикации при отображении в виде простого текста. Но рассмотрим эту версию RTF, созданную:

esttab с использованием means.rtf, modelwidth (10 20) cell ((mean (label (Mean)) sd (par label (Standard Deviation)))) label nomtitle nonumber replace

Таблицы частот

Создание частотных таблиц также зависит от использования estpost для помещения результатов в вектор e ():

estpost tab rep78 иностранный

Это те же числа, которые вы можете получить только на вкладке, но они организованы по-другому. Обратите внимание, что сами частоты называются e (b), но мы по-прежнему будем использовать cell (), потому что в противном случае esttab будет обрабатывать их как коэффициенты регрессии:

Номер модели, пустое название модели и метка столбца (b) здесь бесполезны, поэтому удалите номер и заголовок и измените метку с помощью collabels (). Вы также можете полностью удалить метку столбца с помощью Collabels (none).

esttab, ячейка (b) nonumber nomtitle collabels (Частота)

Опция unstack преобразует три раздела в столбцы:

esttab, ячейка (b) unstack nonumber nomtitle collabels (none)

Чтобы контролировать метку для переменной строки, используйте eqlabels (), но esttab считает ее левой частью уравнения (помните, что esttab был создан для моделей). Таким образом, вы должны использовать подопцию lhs () в eqlabels (). Вы можете настроить количество места, доступного для метки, с помощью varwidth ():

esttab, cell (b) eqlabels (, lhs ("Восстановить запись")) varwidth (15) unstack nonumber nomtitle collabels (none)

Вы можете добавлять дополнительные величины в cell () и управлять их внешним видом и структурой, используя все инструменты, которые мы обсуждали в разделе сводной статистики. Рассмотрите возможность добавления примечания, чтобы объяснить, что представляет собой каждое число, с помощью опции note ():

esttab, cell (b rowpct (fmt (% 5.1f) par)) note (Процент строк в круглых скобках) unstack nonumber nomtitle collabels (none) eqlabels (, lhs ("Repair Record")) varwidth (15)

Это лишь часть того, что может сделать esttab (не говоря уже о estout). Чтобы узнать больше, мы предлагаем прочитать статью в Stata Journal, в которой он был представлен. Чтобы узнать подробнее о синтаксисе, введите help esttab и / или help estout.

ПОПУЛЯРНЫЕ СТАТЬИ