如何在 R 数据框列中提取第一个出现次数最多的值?


出现次数最多的值称为众数,一个变量中可能存在多个众数。如果有多个众数,我们可以使用排序函数找到第一个众数或第一个出现次数最多的值。例如,如果我们有一个包含两个以上众数的向量 x,则第一个众数可以找到如下:

sort(table(df$x),decreasing=TRUE)[1]

示例

考虑以下数据框

在线演示

> set.seed(36521)
> x<-sample(LETTERS[1:5],20,replace=TRUE)
> df1<-data.frame(x)
> df1

输出

x
1 B
2 E
3 A
4 A
5 D
6 E
7 D
8 B
9 B
10 C
11 E
12 D
13 E
14 A
15 A
16 A
17 C
18 B
19 D
20 D

在 x 中查找第一个众数

> sort(table(df1$x),decreasing=TRUE)[1]

输出

A
5

让我们看看另一个例子

示例

在线演示

> y<-rpois(20,5)
> df2<-data.frame(y)
> df2

输出

y
1 5
2 7
3 4
4 7
5 1
6 4
7 7
8 10
9 4
10 4
11 6
12 5
13 6
14 5
15 4
16 2
17 4
18 6
19 5
20 1

在 y 中查找第一个众数

> sort(table(df2$y),decreasing=TRUE)[1]

输出

4
6

更新于: 2020年11月7日

146 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.