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

r programmingserver side programmingprogramming更新于 2025/4/7 12:52:17

要查找 R 数据框中每列的唯一值的频率,我们可以使用表函数和应用函数。

例如,如果我们有一个名为 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 

相关文章