[R] get the percentage rank of a value based on an empirical data vector
David Winsemius
dwinsemius at comcast.net
Wed Jan 11 14:58:05 CET 2012
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