Using R, it is trivial to calculate the quantiles for given probabilities in a sampled distribution:
x <- rnorm(1000, mean=4, sd=2)
quantile(x, .9) # results in 6.705755
However, I can't find an easy way to do the inverse—calculate the probability for a given quantile in the sample x
. The closest I've come is to use pnorm()
with the same mean and standard deviation I used when creating the sample:
pnorm(5, mean=4, sd=2) # results in 0.6914625
However, because this is calculating the probability from the full normal distribution, and not the sample x
, it's not entirely accurate.
Is there a function that essentially does the inverse of quantile()
? Something that essentially lets me do the same thing as pnorm()
but with a sample? Something like this:
backwards_quantile(x, 5)
I've found the ecdf()
function, but can't figure out a way to make it result in a single probability instead of a full equation object.
ecdf
returns a function: you need to apply it.
f <- ecdf(x)
f( quantile(x,.91) )
# Equivalently:
ecdf(x)( quantile(x,.91) )