如何计算R数据帧中所有唯一值的出现次数?

R中的数据帧可以具有无限数量的唯一值,并且还可以包含许多重复值。因此,找到数据帧中所有唯一值的数量可以帮助我们理解数据的多样性,但这在我们希望有重复元素的情况下最有效,否则就没有意义了。要计算所有唯一值的出现次数,我们可以将表函数与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