Функция квантиля R не терпит неудачу при нахождении децилей очень малых значений; просто концепция децилей становится неоднозначной, если в вашем наборе мало сэмплов. На самом деле существует 9 различных способов вычисления квантилей с использованием функции quantile
в R, которые вы можете изменить, установив параметр type
.
Вот пример попытки извлечь децили вектора c(1, 2, 3)
, с использованием каждого из 9 доступных методов. Соответствует ли что-нибудь из этого вашим ожиданиям? Лично мне здесь нравится метод 7, но я предполагаю, что это действительно зависит от того, как вы определяете дециль и для каких целей.
sapply(1:9, function(x) quantile(c(1:3), probs = seq(0, 1, 0.1), type = x))
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
#> 0% 1 1 1 1.0 1.0 1.0 1.0 1.000000 1.000
#> 10% 1 1 1 1.0 1.0 1.0 1.2 1.000000 1.000
#> 20% 1 1 1 1.0 1.1 1.0 1.4 1.000000 1.025
#> 30% 1 1 1 1.0 1.4 1.2 1.6 1.333333 1.350
#> 40% 2 2 1 1.2 1.7 1.6 1.8 1.666667 1.675
#> 50% 2 2 2 1.5 2.0 2.0 2.0 2.000000 2.000
#> 60% 2 2 2 1.8 2.3 2.4 2.2 2.333333 2.325
#> 70% 3 3 2 2.1 2.6 2.8 2.4 2.666667 2.650
#> 80% 3 3 2 2.4 2.9 3.0 2.6 3.000000 2.975
#> 90% 3 3 3 2.7 3.0 3.0 2.8 3.000000 3.000
#> 100% 3 3 3 3.0 3.0 3.0 3.0 3.000000 3.000