Функция квантиля R не работает при малых значениях - PullRequest
0 голосов
/ 29 мая 2020

Функция квантиля R не может найти децили очень малых значений, есть ли алгоритм, который работает лучше других?

1 Ответ

1 голос
/ 29 мая 2020

Функция квантиля 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
...