如何在R資料框中統計所有唯一值的出現次數?


R中的資料框可以包含無限數量的唯一值,也可以包含許多重複值。因此,查詢資料框中所有唯一值的個數可以幫助我們瞭解資料的多樣性,但這主要在預期存在重複元素的情況下進行,否則就沒有意義。要統計所有唯一值的出現次數,我們可以使用`table`函式和`unlist`函式,如下例所示。

考慮以下資料框:

示例

 線上演示

x1<-sample(LETTERS[1:5],20,replace=TRUE)
x2<-sample(LETTERS[1:5],20,replace=TRUE)
x3<-sample(LETTERS[1:5],20,replace=TRUE)
x4<-sample(LETTERS[1:5],20,replace=TRUE)
x5<-sample(LETTERS[1:5],20,replace=TRUE)
df1<-data.frame(x1,x2,x3,x4,x5)
df1

輸出

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

查詢資料框df1中的唯一值個數:

示例

table(unlist(df1))

輸出

A   B  C  D  E 
18 27 22 17 16

讓我們來看另一個例子:

示例

 線上演示

y1<-sample(0:2,20,replace=TRUE)
y2<-sample(0:2,20,replace=TRUE)
y3<-sample(0:2,20,replace=TRUE)
y4<-sample(0:2,20,replace=TRUE)
df2<-data.frame(y1,y2,y3,y4)
df2

輸出

  y1 y2 y3 y4
1  0  2  1  2
2  0  0  1  1
3  1  1  2  1
4  2  2  0  0
5  1  0  2  1
6  0  2  2  0
7  0  0  1  1
8  0  2  0  1
9  2  2  2  2
10 1  0  2  0
11 0  1  1  2
12 2  2  2  1
13 0  1  1  0
14 2  2  1  2
15 2  2  0  0
16 2  2  1  1
17 1  2  2  2
18 2  1  0  2
19 1  0  2  0
20 1  2  0  2

查詢資料框df2中的唯一值個數:

示例

table(unlist(df2))

輸出

 0  1  2
32 26 22

更新於:2020年10月19日

750 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告