如何在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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告