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