如何在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
广告