如何在 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 fashion
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 fashion
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 fashion
find_mode(data)
[1] “Sunny”
结果模式是“Sunny”——这是向量中最常出现的字符串。
其他资源
以下教程解释了如何在 R 中计算其他描述性统计量: