Oszacuj kwantyl wartości w wektorze

26

Mam zestaw liczb rzeczywistych. Muszę oszacować kwantyl nowej liczby. Czy jest jakiś czysty sposób na zrobienie tego w R? ogólnie?

Mam nadzieję, że to nie jest trywialne ;-)

Bardzo dziękuję za odpowiedź.

PK

polaryzować
źródło

Odpowiedzi:

35

Jak zauważył whuber, możesz użyć ecdf, który pobiera wektor i zwraca funkcję do uzyskania percentyla wartości.

> percentile <- ecdf(1:10)
> percentile(8)
[1] 0.8
cwarden
źródło
10

Aby rozwinąć to, co stwierdzili whuber i cwarden, czasami chcesz użyć funkcji w „klasyczny” sposób R. Następnie możesz napisać to sam, używając ecdf():

ecdf_fun <- function(x,perc) ecdf(x)(perc)
ecdf_fun(1:10,8)
>[1] 0.8
zerweck
źródło