如何提取R数据帧列中的第一个最高出现值?

出现的最高值称为模式,变量中可以有多个模式。如果我们有多种模式,则可以使用sort函数找到第一个模式或出现的第一个最高值。例如,如果我们的向量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