Как экспортировать данные с помощью esttab или estout - PullRequest
1 голос
/ 05 мая 2020

Скажите, что у меня есть эти данные:

sysuse auto2, clear
gen name = substr(make, 1,3)
drop if missing(rep78)
gen n = 1
collapse (mean) mpg (sum) (n), by(name)
replace name = "a b: c" if _n==1

Я хотел бы экспортировать их в файл .rtf (.tex, et c.) Непосредственно из данных, используя esttab или estout. Это возможно? Основная причина, по которой я хочу это сделать, заключается в том, что я хочу сохранить пробелы в именах строк. И было бы неплохо иметь возможность иметь запятые после 1000.

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

mkmat mpg n, matrix(mat) rownames(name)
esttab matrix(mat)

Проблема в том, что он заменяет пробелы в именах строк на _. Другая проблема заключается в том, что если любое из имен (из переменной name) равно :, то это создает категорию на выходе. Есть другое решение? Либо напрямую экспортировать из данных, либо, возможно, как-то сохранить данные в оценке?

1 Ответ

2 голосов
/ 06 мая 2020

Вместо использования collapse вы можете рассчитать средние и количественные показатели напрямую с помощью estpost tabstat, statistics(mean count) by(). Затем вы можете использовать esttab для экспорта результатов.

Если вы действительно хотите сначала создать набор данных, вы все равно можете использовать estpost tabstat. Похоже, это работает для вашего набора данных:

estpost tabstat mpg n, by(name) nototal
esttab, cells("mpg n") varlabels(`e(labels)') noobs nonumber nomtitle

Если вы снова хотите, чтобы вверху было «ab: c», вы можете использовать опцию порядка esttab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...