Сводка в статистике в статах, содержащих различные соотношения

#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% и вторым наименьшим значением. Статистически вы вряд ли будете заботиться о таких переменных в этом контексте.