Как рассчитать децили в R (с примерами)


В статистике децили — это числа, которые разбивают набор данных на десять групп с одинаковой частотой.

Первый дециль — это точка, ниже которой лежат 10% всех значений данных. Второй дециль — это точка, ниже которой лежат 20% всех значений данных, и так далее.

Мы можем использовать следующий синтаксис для вычисления децилей для набора данных в R:

quantile(data, probs = seq (.1, .9, by = .1 ))

В следующем примере показано, как использовать эту функцию на практике.

Пример: вычислить децили в R

В следующем коде показано, как создать поддельный набор данных с 20 значениями, а затем вычислить значения для децилей набора данных:

#create dataset
data <- c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
 89, 90, 91, 92, 93, 93, 94, 95, 97, 99)

#calculate deciles of dataset
quantile(data, probs = seq (.1, .9, by = .1 ))

 10% 20% 30% 40% 50% 60% 70% 80% 90% 
63.4 67.8 76.5 83.6 88.5 90.4 92.3 93.2 95.2

Способ интерпретации децилей следующий:

  • 10% всех значений данных лежат ниже 63,4 .
  • 20% всех значений данных лежат ниже 67,8 .
  • 30% всех значений данных лежат ниже 76,5 .
  • 40% всех значений данных лежат ниже 83,6 .
  • 50% всех значений данных лежат ниже 88,5 .
  • 60% всех значений данных лежат ниже 90,4 .
  • 70% всех значений данных лежат ниже 92,3 .
  • 80% всех значений данных лежат ниже 93,2 .
  • 90% всех значений данных лежат ниже 95,2 .

Стоит отметить, что значение на 50-м процентиле равно среднему значению набора данных.

Пример. Поместите значения в децили в R

Чтобы поместить каждое значение данных в дециль, мы можем использовать функцию ntile(x, ngroups) из пакета dplyr в R.

Вот как использовать эту функцию для набора данных, который мы создали в предыдущем примере:

library(dplyr) 

#create dataset
data <- data.frame(values=c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88,
 89, 90, 91, 92, 93, 93, 94, 95, 97, 99))

#place each value into a decile
data$decile <- ntile(data, 10)

#view data
data

 values decile
1 56 1
2 58 1
3 64 2
4 67 2
5 68 3
6 73 3
7 78 4
8 83 4
9 84 5
10 88 5
11 89 6
12 90 6
13 91 7
14 92 7
15 93 8
16 93 8
17 94 9
18 95 9
19 97 10
20 99 10

Способ интерпретации вывода следующий:

  • Значение данных 56 находится между процентилями от 0% до 10%, таким образом, оно попадает в первый дециль.
  • Значение данных 58 находится между процентилями от 0% до 10%, таким образом, оно попадает в первый дециль.
  • Значение данных 64 находится между процентилями 10% и 20%, таким образом, оно попадает во второй дециль.
  • Значение данных 67 находится между процентилями 10% и 20%, таким образом, оно попадает во второй дециль.
  • Значение данных 68 находится между процентилями 20% и 30%, таким образом, оно попадает в третий дециль.

И так далее.

Дополнительные ресурсы

Как рассчитать процентили в R
Как рассчитать квартили в R
Как создать частотные таблицы в R