[R] get the percentage rank of a value based on an empirical data vector
Martin Batholdy
batholdy at googlemail.com
Wed Jan 11 16:57:50 CET 2012
> > findInterval(6.2, sort(x))
> [1] 704
> > xecdf <- ecdf(x)
> > xecdf(6.2)
> [1] 0.704
thanks, that helped a lot!
On 11.01.2012, at 14:58, David Winsemius wrote:
>
> On Jan 11, 2012, at 8:12 AM, Martin Batholdy wrote:
>
>> Hi,
>>
>> I have a vector with values:
>>
>> x <- rnorm(1000, 5, 2)
>>
>>
>> and one single value:
>> y <- 6.2
>>
>> now I would like to know the percent rank of y based on the 'population'-vector x.
>> Is there a convenient function that calculates the percent rank of a y for the given vector x?
>
> Two options :
> 1) sort x and use findInterval, divide the index by length(x) and multiply by 100
> (It can all be done as a one-liner.)
>
> 2) I generally "reach for" the `ecdf` "function making machine" when I see sample quantile problems and see if I can cast the problem in terms for which it applies.
>
> For my random draw I get:
> > findInterval(6.2, sort(x))
> [1] 704
> > xecdf <- ecdf(x)
> > xecdf(6.2)
> [1] 0.704
>
> --
> David Winsemius, MD
> West Hartford, CT
>
More information about the R-help
mailing list