问题
I am trying to use ecdf, but I am not sure if I am doing it right. My ultimate purpose is to find what quantile corresponds to a specific value. As an example:
sample_set <- c(20, 40, 60, 80, 100)
# Now I want to get the 0.75 quantile:
quantile(x = sample_set, probs = 0.75)
#result:
75%
80
# Let's use ecdf
ecdf(x = sample_set) (80)
#result
0.8
Why is there this discrepancy? Am I doing some trivial mistake, or it depends on the way quantile makes its calculations?
Thanks, Max
回答1:
There are two points. First, as you guessed, it depends on the way quantile makes its calculations. Specifically, it depends on the parameter type. What you might want to choose is type = 1, since then it corresponds to the inverse of empirical distribution function (see ?quantile). Second, since ecdf gives a discrete, step function, i.e. the ecdf is not strictly increasing, you cannot get exact equality because of the way quantile is defined (see the second formula).
来源:https://stackoverflow.com/questions/35927956/quantile-vs-ecdf-results