#stata #summary
Вопрос:
У меня есть набор данных, и я хочу рассчитать сводную статистику для различных переменных набора данных. Я хочу отобразить среднее значение, коэффициент вариации и соотношения 75% квантиля / 25% квантиля, 95% квантиля / 5% квантиля и 2-го самого высокого/ 2-го самого низкого значения. Я новичок в Stata и сумел получить таблицу, содержащую квантили, но не соотношения.
Комментарии:
1. Это второстепенный вопрос для SO, поскольку в нем отсутствует воспроизводимый пример и любая попытка кода вообще. ТАК что это не служба написания кода. Ты должен хотя бы показать, как далеко ты продвинулся.
Ответ №1:
Большинство, но не все из этих мер просты, учитывая, что результаты будут доступны после summarize, detail
.
Вот один из подходов:
program mysummary, rclass sortpreserve syntax varname(numeric) [if] [in] marksample touse quietly replace `touse' = -`touse' quietly su `varlist' if `touse', detail return scalar mean = r(mean) return scalar cv = r(sd) / r(mean) return scalar ratio25 = r(p75) / r(p25) return scalar ratio5 = r(p95) / r(p5) local N = r(N) sort `touse' `varlist' return scalar ratio2nd = `varlist'[`N'-1] / `varlist'[2] end sysuse auto, clear tempname handle postfile `handle' str32 varname mean cv ratio25 ratio5 ratio2nd using myresults, replace ds, has(type numeric) foreach v in `r(varlist)' { mysummary `v' post `handle' ("`v'") (r(mean)) (r(cv)) (r(ratio25)) (r(ratio5)) (r(ratio2nd)) } postclose `handle' use myresults format mean-ratio2nd %4.3f list, sep(0) noobs --------------------------------------------------------------- | varname mean cv ratio25 ratio5 ratio2nd | |---------------------------------------------------------------| | price 6165.257 0.478 1.512 3.593 4.395 | | mpg 21.297 0.272 1.389 2.429 2.917 | | rep78 3.406 0.291 1.333 2.500 5.000 | | headroom 2.993 0.283 1.400 3.000 3.000 | | trunk 13.757 0.311 1.700 3.000 3.667 | | weight 3019.459 0.257 1.607 2.344 2.622 | | length 187.932 0.118 1.200 1.435 1.565 | | turn 39.649 0.111 1.194 1.394 1.500 | | displacement 197.297 0.465 2.101 4.070 4.706 | | gear_ratio 3.015 0.151 1.234 1.658 1.701 | | foreign 0.297 1.548 . . . | ---------------------------------------------------------------
Пропуски в последней строке возникают из-за того, что для этой переменной показателя три соответствующих соотношения подразумевают деление на 0, что является нижним квартилем, процентилем 5% и вторым наименьшим значением. Статистически вы вряд ли будете заботиться о таких переменных в этом контексте.