如何在R数据框中查找每个值的频率?


为了查找R数据框中每个值的频率,我们可以结合使用`table`函数和`unlist`函数。

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

table(unlist(df))

示例1

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

x1<-sample(0:9,20,replace=TRUE)
x2<-sample(0:9,20,replace=TRUE)
x3<-sample(0:9,20,replace=TRUE)
x4<-sample(0:9,20,replace=TRUE)
df1<-data.frame(x1,x2,x3,x4)
df1

创建了以下数据框

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

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

x1<-sample(0:9,20,replace=TRUE)
x2<-sample(0:9,20,replace=TRUE)
x3<-sample(0:9,20,replace=TRUE)
x4<-sample(0:9,20,replace=TRUE)
df1<-data.frame(x1,x2,x3,x4)
table(unlist(df1))

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:

0 1 2 3  4 5  6 7 8 9
7 6 8 8 10 8 12 6 8 7

示例2

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

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

创建了以下数据框

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

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

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

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:
以下输出:

 0  1  2 3 5
27 21 10 1 1

示例3

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

z1<-round(rnorm(20),0)
z2<-round(rnorm(20),0)
z3<-round(rnorm(20),0)
df3<-data.frame(z1,z2,z3)
df3

创建了以下数据框

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

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

z1<-round(rnorm(20),0)
z2<-round(rnorm(20),0)
z3<-round(rnorm(20),0)
df3<-data.frame(z1,z2,z3)
table(unlist(df3))

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:
以下输出:

-2 -1  0  1 2
 6 12 25 16 1

更新于:2021年11月8日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告