如何在 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

数据集的众数为24 。这两个数字是最常见的。

示例 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 中计算其他描述性统计量:

如何在R中计算五个数字的总和
如何在 R 中创建汇总表
如何在 R 中使用 Mean() 函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注