Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: RE: Percentiles: Identify of smallest observation closet to percentile value


From   "Ronnie Babigumira" <ronnie.babigumira@ios.nlh.no>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: st: RE: Percentiles: Identify of smallest observation closet to percentile value
Date   Tue, 4 Feb 2003 08:13:13 +0100

Rod, this works for me
. sum p, d

                            Price
-------------------------------------------------------------
      Percentiles      Smallest
 1%         3291           3291
 5%         3748           3299
10%         3895           3667       Obs                  74
25%         4195           3748       Sum of Wgt.          74

50%       5006.5                      Mean           6165.257
                        Largest       Std. Dev.      2949.496
75%         6342          13466
90%        11385          13594       Variance        8699526
95%        13466          14500       Skewness       1.653434
99%        15906          15906       Kurtosis       4.819188

. list make price if price == `r(p75)'

     make                   price
 23. Dodge St. Regis        6,342

**
You may or may not use ur own macro. If u use ur own macro, the 
after sum p, d, you could 

local p75 = r(p75) (I notice u missed this step)
and then list

list make price if price == `p75'

Hope this helps

Ronnie


-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Rod Hunter
Sent: 3. februar 2003 20:34
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: RE: Percentiles: Identify of smallest observation
closet to percentile value


Thanks Nick and Ronnie.
I still don't appear to be out of the woods.

1.
I applied Nick's procedure to my example:
. centile var1 , c(75)
--------------------------------------------------------------------
				-- Binom. Interp. --
	Variable	Obs  Percentile	Centile	[95% Conf. Interval]
				
	var1	4         75	9.75	7.45          10*

*	Lower (upper)	confidence limit held	at minimum	(maximum) of sample
-----------------------------------------------------------
. ret li
------------------------------------------------
scalars:
	r(n_cent)	=	1
	r(N)	=	4
	r(ub_1)	=	10
	r(lb_1)	=	7.450000000008672
	r(c_1)	=	9.75
macros:
	r(centiles)	:	"75"
-------------------------------------------------
. list var1 if var1 == `r(c_1)'
-----------------------------------------------
	var1
.
-----------------------------------------------
This does not give me the identity nor value of the largest observation 
within the percentage of the observations included by the 75th percentile.

2.
I tried Ronnie's approach:

. sum var1, d
-------------------------------------------
		var1
	Percentiles	Smallest
1%	7	7
5%	7	8
10%	7	9	Obs	4
25%	7.5	10	Sum of Wgt.	4

50%	8.5		Mean	8.5
		Largest	Std. Dev.	1.290994
75%	9.5	7
90%	10	8	Variance	1.666667
95%	10	9	Skewness	0
99%	10	10	Kurtosis	1.64
---------------------------------------------------
. local macro*
. list var1 if var1 == `p75'
-------------------------------------------------
	var1
-------------------------------------------------

3.
This is what I have been using:

. _pctile  var1,p(75)
. gen var1_p75=r(r1)
. tabstat var1 if var1==var1_p75, stat(max)
-------------------------------------
no observations
-------------------------------------
alternatively:
. list var1 if var1==var1_p75
---------------------------------------
  	var1
---------------------------------------

Any further suggestions?

Regards,

Rod Hunter






Nick Cox wrote:
> Rod Hunter
> 
>>A simple eg. will suffice.
>>
>>Obs. Var1
>>----------
>>1     	10
>>2	9
>>3	8
>>4	7
>>-----------
>>
>>I would like Stata to tell me the value of the observation
>>that is at or
>>  below the 75th percentile point, and to yield the identity (or
>>identities) of the observation(s).
> 
> 
> I'll change your example. I don't know about "below". ~ 75% are
> below; do you what them all?
> 
> . use auto
> . centile rep78 , c(75)
> 
>                                                        -- Binom.
> Interp. --
>     Variable |     Obs  Percentile      Centile        [95% Conf.
> Interval]
> -------------+--------------------------------------------------------
> -----
>        rep78 |      69         75             4               4
> 5
> 
> . ret li
> 
> scalars:
>             r(n_cent) =  1
>                  r(N) =  69
>               r(ub_1) =  5
>               r(lb_1) =  4
>                r(c_1) =  4
> 
> macros:
>           r(centiles) : "75"
> 
> . list rep78 if rep78 == `r(c_1)'
> 
>      +-------+
>      | rep78 |
>      |-------|
>   5. |     4 |
>  15. |     4 |
>  24. |     4 |
>  29. |     4 |
>  30. |     4 |
>      |-------|
>  33. |     4 |
>  35. |     4 |
>  38. |     4 |
>  47. |     4 |
>  55. |     4 |
>      |-------|
>  56. |     4 |
>  58. |     4 |
>  59. |     4 |
>  62. |     4 |
>  63. |     4 |
>      |-------|
>  70. |     4 |
>  72. |     4 |
>  73. |     4 |
>      +-------+
> Nick
> n.j.cox@durham.ac.uk
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
> 
> 
> 


*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index