查找 R 数据框中每列唯一值的频率。


要查找 R 数据框中每列唯一值的频率,我们可以使用 apply 函数结合 table 函数。

例如,如果我们有一个名为 df 的数据框,那么我们可以使用以下命令查找 df 中每列唯一值的频率:

apply(df,2,table)

示例 1

以下代码片段创建了一个示例数据框:

x1<-sample(c(2,5,7,4),20,replace=TRUE)
x2<-sample(c(2,5,7,4),20,replace=TRUE)
x3<-sample(c(2,5,7,4),20,replace=TRUE)
df1<-data.frame(x1,x2,x3)
df1

创建了以下数据框

  x1 x2 x3
 1 2 5  7
 2 5 4  5
 3 5 5  5
 4 5 4  4
 5 5 5  2
 6 5 7  7
 7 7 7  2
 8 2 2  2
 9 4 4  7
10 2 5  5
11 2 4  4
12 5 7  5
13 2 5  4
14 2 5  4
15 5 5  7
16 5 5  4
17 5 7  5
18 2 4  4
19 7 7  5
20 5 5  7

要在上面创建的数据框 df1 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:

x1<-sample(c(2,5,7,4),20,replace=TRUE)
x2<-sample(c(2,5,7,4),20,replace=TRUE)
x3<-sample(c(2,5,7,4),20,replace=TRUE)
df1<-data.frame(x1,x2,x3)
apply(df1,2,table)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

  x1 x2 x3
2  7 1 3
4  1 5 6
5 10 9 6
7  2 5 5

示例 2

以下代码片段创建了一个示例数据框:

y1<-rpois(20,1)
y2<-rpois(20,1)
y3<-rpois(20,1)
df2<-data.frame(y1,y2,y3)
df2

创建了以下数据框

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

要在上面创建的数据框 df2 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:

y1<-rpois(20,1)
y2<-rpois(20,1)
y3<-rpois(20,1)
df2<-data.frame(y1,y2,y3)
apply(df2,2,table)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

$y1
0 1 2 3 4
6 4 6 2 2
$y2
0 1 2 3
7 6 4 3
$y3
0 1 2 3 4
5 7 5 1 2

示例 3

以下代码片段创建了一个示例数据框:

z1<-sample(0:4,20,replace=TRUE)
z2<-sample(0:4,20,replace=TRUE)
z3<-sample(0:4,20,replace=TRUE)
df3<-data.frame(z1,z2,z3)
df3

创建了以下数据框

 z1 z2 z3
 1 2 2 1
 2 4 1 3
 3 1 3 4
 4 4 4 1
 5 0 0 3
 6 0 4 3
 7 3 1 3
 8 4 1 1
 9 3 4 3
10 3 4 1
11 4 4 0
12 2 4 0
13 3 1 4
14 3 3 1
15 4 3 1
16 0 2 3
17 3 3 2
18 3 4 2
19 0 3 0
20 4 4 4

要在上面创建的数据框 df3 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:

z1<-sample(0:4,20,replace=TRUE)
z2<-sample(0:4,20,replace=TRUE)
z3<-sample(0:4,20,replace=TRUE)
df3<-data.frame(z1,z2,z3)
apply(df3,2,table)

输出

如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:

 z1 z2 z3
0 4 1  3
1 1 4  6
2 2 2  2
3 7 5  6
4 6 8  3 

更新于: 2021年11月10日

629 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告