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


Режим набора данных представляет собой наиболее часто встречающееся значение.

В любом заданном наборе данных не может быть режима, одного режима или нескольких режимов.

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

find_mode <- function (x) {
 u <- unique(x)
 tab <- tabulate(match(x, u))
 u[tab == max(tab)]
}

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

Пример 1: вычисление моды числового вектора

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

#define function to calculate mode
find_mode <- function (x) {
 u <- unique(x)
 tab <- tabulate(match(x, u))
 u[tab == max(tab)]
}

#define numeric vector
data <- c(1, 2, 2, 3, 4, 4, 4, 4, 5, 6)

#find mode
find_mode(data)

[1] 4

Режим набора данных оказывается 4.Это число встречается чаще всего.

Обратите внимание, что мы также можем использовать эту функцию, когда в наборе данных есть несколько режимов:

#define function to calculate mode
find_mode <- function (x) {
 u <- unique(x)
 tab <- tabulate(match(x, u))
 u[tab == max(tab)]
}

#define numeric vector with multiple modes
data <- c(1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 6)

#find mode
find_mode(data)

[1] 2 4

Режимы набора данных 2 и 4.Оба этих числа встречаются чаще всего.

Пример 2. Вычисление моды вектора символов

Эта функция может также использоваться, чтобы вычислить режим вектора символов:

#define function to calculate mode
find_mode <- function (x) {
 u <- unique(x)
 tab <- tabulate(match(x, u))
 u[tab == max(tab)]
}

#define character vector
data <- c('Sunny', 'Cloudy', 'Sunny', 'Sunny', 'Rainy', 'Cloudy')
#find mode
find_mode(data)

[1] "Sunny"

Режим оказывается «Солнечно» — именно эта строка чаще всего встречается в векторе.

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

В следующих руководствах объясняется, как рассчитать другую описательную статистику в R:

Как рассчитать сводку из пяти чисел в R
Как создать сводные таблицы в R
Как использовать функцию mean() в R