ch12.2.do open
file:script:do
# | content |
---|---|
1 [+] | * ITSP 12.2 - |
3 [+] | type _gpctrange.ado |
5 [+] | /* capture program drop _gpctrange *! _gpctrange v1.0.0 CFBaum 02dec2007 program _gpctrange version 10.1 syntax newvarname =/exp [if] [in] [, HI(integer 75) LO(integer 25) *] if `hi' <= `lo' | `hi' > 99 | `lo' < 1 { display as error "Percentiles `hi' `lo' invalid." error 198 } tempvar touse phi plo mark `touse' `if' `in' quietly { egen double `phi' = pctile(`exp') if `touse', `options' p(`hi') egen double `plo' = pctile(`exp') if `touse', `options' p(`lo') generate `typlist' `varlist' = `phi' - `plo' if `touse' } end */ |
26 [+] | sysuse auto , |
27 [+] | bysort rep78: egen iqr = pctrange(price) if inrange(rep78, 3, 5) |
28 [+] | bysort rep78: egen p8020 = pctrange(price) if inrange(rep78, 3, 5) , /// hi(80) lo(20) |
30 [+] | tabstat iqr if inrange(rep78, 3, 5) , |
31 [+] | tabstat p8020 if inrange(rep78, 3, 5) , |
* ITSP 12.2 - type _gpctrange.ado /* capture program drop _gpctrange *! _gpctrange v1.0.0 CFBaum 02dec2007 program _gpctrange version 10.1 syntax newvarname =/exp [if] [in] [, HI(integer 75) LO(integer 25) *] if `hi' <= `lo' | `hi' > 99 | `lo' < 1 { display as error "Percentiles `hi' `lo' invalid." error 198 } tempvar touse phi plo mark `touse' `if' `in' quietly { egen double `phi' = pctile(`exp') if `touse', `options' p(`hi') egen double `plo' = pctile(`exp') if `touse', `options' p(`lo') generate `typlist' `varlist' = `phi' - `plo' if `touse' } end */ sysuse auto, clear bysort rep78: egen iqr = pctrange(price) if inrange(rep78, 3, 5) bysort rep78: egen p8020 = pctrange(price) if inrange(rep78, 3, 5), /// hi(80) lo(20) tabstat iqr if inrange(rep78, 3, 5), by(rep78) tabstat p8020 if inrange(rep78, 3, 5), by(rep78)