Поиск по сайту:

Функция Quantile() в R — краткое руководство


Вы можете сгенерировать выборочные квантили, используя функцию quantile() в R.

Здравствуйте, сегодня мы рассмотрим, как найти квантили значений с помощью функции quantile().

Квантиль: с точки зрения непрофессионала, квантиль — это не что иное, как выборка, разделенная на равные группы или размеры. Из-за этой природы квантили также называют фрактилями. В квантилях 25-й процентиль называется нижним квартилем, 50-й процентиль называется медианой, а 75-й процентиль называется верхним квартилем.

В следующих разделах давайте посмотрим, как эта функция quantile() работает в R.

Синтаксис функции квантиль()

Синтаксис функции Quantile() в R:

quantile(x, probs = , na.rm = FALSE)

Где,

  • X=входной вектор или значения
  • Вероятности=вероятности значений от 0 до 1.
  • na.rm=удаляет значения NA.

Простая реализация функции quantile() в R

Что ж, надеюсь, вы хорошо разобрались с определением и объяснениями квантильной функции. Теперь давайте посмотрим, как функция квантилей работает в R, на простом примере, который возвращает квантили для входных данных.

#creates a vector having some values and the quantile function will return the percentiles for the data.

df<-c(12,3,4,56,78,18,46,78,100)
quantile(df)

Выход:

0%   25%   50%   75%   100%
3    12    46    78    100

В приведенном выше примере вы можете заметить, что функция квантилей сначала упорядочивает входные значения в порядке возрастания, а затем возвращает требуемые процентили значений.

Примечание. Функция квантиля делит данные на равные половины, в которых медиана действует как середина, а оставшаяся нижняя часть — нижняя квартиль, а верхняя часть — верхняя квартиль.

Обработка пропущенных значений — «NaN»

NaN повсюду. В этом цифровом мире, управляемом данными, вы можете чаще сталкиваться с этими NaN, которые часто называют пропущенными значениями. Если ваши данные каким-либо образом содержат эти отсутствующие значения, вы можете получить NaN на выходе или ошибки на выходе.

Итак, чтобы обработать эти пропущенные значения, мы собираемся использовать функцию na.rm. Эта функция удалит значения NA из наших данных и вернет истинные значения.

Давайте посмотрим, как это работает.

#creates a vector having values along with NaN's

df<-c(12,3,4,56,78,18,NA,46,78,100,NA)
quantile(df)

Выход:

Error in quantile.default(df) :
missing values and NaN's not allowed if 'na.rm' is FALSE

О, у нас ошибка. Если ваше предположение касается значений NA, вы абсолютно сообразительны. Если в наших данных присутствуют значения NA, большинство функций в конечном итоге вернут сами значения NA или сообщение об ошибке, как указано выше.

Что ж, давайте удалим эти недостающие значения с помощью функции na.rm.

#creates a vector having values along with NaN's

df<-c(12,3,4,56,78,18,NA,46,78,100,NA)

#removes the NA values and returns the percentiles
quantile(df,na.rm = TRUE)

Выход:

0%  25%  50%  75%  100%
3   12    46   78   100

В приведенном выше примере вы можете увидеть функцию na.rm и ее влияние на вывод. Функция удалит NA, чтобы избежать ложного вывода.

Аргумент Probs в квантиле

Поскольку вы можете видеть аргумент probs в синтаксисе, который продемонстрирован в самом первом разделе статьи, вы можете задаться вопросом, что он означает и как он работает?. Аргумент probs передается функции квантилей для получения конкретных или пользовательских процентилей.

Кажется сложным? Не волнуйтесь, я разобью это на простые термины.

Что ж, всякий раз, когда вы используете функцию quantile, она возвращает стандартные процентили, такие как 25, 50 и 75 процентили. Но что, если вам нужен 47-й процентиль или, может быть, 88-й процентиль?

Появляется аргумент «проблемы», в котором вы можете указать необходимые процентили для их получения.

Перед тем, как перейти к примеру, вы должны кое-что узнать об аргументе probs.

Probs: аргумент probs или вероятностей должен находиться в диапазоне от 0 до 1.

Вот пример, который иллюстрирует приведенное выше утверждение.

#creates the vector of values

df<-c(12,3,4,56,78,18,NA,46,78,100,NA)

#returns the quantile of 22 and 77 th percentiles. 
quantile(df,na.rm = T,probs = c(22,77))

Выход:

Error in quantile.default(df, na.rm = T, probs = c(22, 77)) : 
  'probs' outside [0,1]

О, это ошибка!

Вы поняли, что произошло?

Ну, вот и заявление Probs. Несмотря на то, что мы упомянули правильные значения в аргументе probs, это нарушает условие 0-1. Аргумент probs должен включать значения, которые должны находиться между 0 и 1.

Итак, мы должны преобразовать вероятности 22 и 77 в 0,22 и 0,77. Теперь входные значения находятся между 0 и 1, верно? Я надеюсь в этом есть смысл.

#creates a vector of values
df<-c(12,3,4,56,78,18,NA,46,78,100,NA)

#returns the 22 and 77th percentiles of the input values
quantile(df,na.rm = T,probs = c(0.22,0.77))

Выход:

 22%       77% 
10.08     78.00 

Функция «Unname» и ее использование

Предположим, вы хотите, чтобы ваш код возвращал только процентили и избегал точек отсечения. В этих ситуациях вы можете использовать функцию «unname».

Функция unname удалит заголовки или точки среза (0%, 25%, 50%, 75%, 100%) и вернет только процентили.

Посмотрим, как это работает!

#creates a vector of values
df<-c(12,3,4,56,78,18,NA,46,78,100,NA)
quantile(df,na.rm = T,probs = c(0.22,0.77))

#avoids the cut-points and returns only the percentiles.
unname(quantile(df,na.rm = T,probs = c(0.22,0.77)))

Выход:

10.08      78.00

Теперь вы можете заметить, что точки среза отключены или удалены функцией unname и возвращают только процентили.

Функция «круглая» и ее использование

Мы подробно обсуждали функцию округления в R в прошлой статье. Теперь мы собираемся использовать функцию округления для округления значений.

Посмотрим, как это работает!

#creates a vector of values
df<-c(12,3,4,56,78,18,NA,46,78,100,NA)
quantile(df,na.rm = T,probs = c(0.22,0.77))

#returns the round off values
unname(round(quantile(df,na.rm = T,probs = c(0.22,0.77))))

Выход:

10   78

Как видите, наши выходные значения округлены до нуля десятичных знаков.

Получите квантили для нескольких групп/столбцов в наборе данных

До сих пор мы обсуждали функцию квантили, ее использование и приложения, а также ее аргументы и то, как их правильно использовать.

В этом разделе мы собираемся получить квантили для нескольких столбцов в наборе данных. Звучит интересно? Подписывайтесь на меня!

Я собираюсь использовать для этой цели набор данных «mtcars», а также библиотеку «dplyr».

#reads the data
data("mtcars")
#returns the top few rows of the data
head(mtcars)

#install required paclages
install.packages('dplyr')
library(dplyr)

#using tapply, we can apply the function to multiple groups
do.call("rbind",tapply(mtcars$mpg, mtcars$gear, quantile))

Выход:

     0%     25%    50%     75%    100%
3   10.4   14.5   15.5   18.400   21.5
4   17.8   21.0   22.8   28.075   33.9
5   15.0   15.8   19.7   26.000   30.4

В приведенном выше процессе мы должны установить пакет dplyr, а затем мы будем использовать функции tapply и rbind для получения нескольких столбцов наборов данных mtcars.

В приведенном выше разделе мы взяли несколько столбцов, таких как столбцы «mpg» и «gear» в наборе данных mtcars. Таким образом, мы можем вычислить квантили для нескольких групп в наборе данных.

Можем ли мы визуализировать процентили?

Мой ответ - большое ДА!. Лучшим сюжетом для этого будет коробчатый сюжет. Позвольте мне взять набор данных радужной оболочки и попытаться визуализировать блочную диаграмму, которая также продемонстрирует процентили.

Давайте катиться!

data(iris)
head(iris)

Это набор данных диафрагмы с 6 верхними значениями.

Давайте исследуем данные с помощью функции под названием «Сводка».

summary(iris)

На изображении выше вы можете видеть среднее значение, медиану, 25-й процентиль (1-й квартиль), 75-й процентиль (3-й процентиль), а также минимальные и максимальные значения. Давайте построим эту информацию через блочную диаграмму.

Давай сделаем это!

#plots a boxplot with labels

boxplot(iris$Sepal.Length,main='The boxplot showing the percentiles',col='Orange',ylab='Values',xlab='Sepal Length',border = 'brown',horizontal = T) 

Блочная диаграмма может отображать многие аспекты данных. На приведенном ниже рисунке я упомянул конкретные значения, представленные прямоугольными диаграммами. Это сэкономит вам некоторое время и облегчит ваше понимание наилучшим образом.

Функция Quantile() в R — завершение

Ну, я думаю, это длинная статья. И я изо всех сил старался объяснить и исследовать функцию quantile() в R в нескольких измерениях с помощью различных примеров и иллюстраций. Квантильная функция является наиболее полезной функцией при анализе данных, поскольку она эффективно раскрывает больше информации о заданных данных.

Надеюсь, вы хорошо разобрались в шумихе вокруг функции quantile() в R. На этом пока все. Мы вернемся со все более и более красивыми функциями и темами в программировании на R. А пока берегите себя и удачного анализа данных!!!

Дополнительное исследование: документация R.