如何在 R 数据框中基于区间查找频率?


要创建区间,我们可以使用 cut 函数与 seq 函数结合,如果我们想要根据这些区间查找频率,那么我们只需要将 table 函数与 cut 函数一起使用即可。我们需要在 cut 函数内部正确定义区间的取值。要了解如何做到这一点,请查看下面的示例。

示例 1

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

x<-rpois(20,20)
df1<-data.frame(x)
df1

创建了以下数据框

    x
1  25
2  18
3  20
4  18
5  24
6  23
7  23
8  24
9  17
10 17
11 34
12 21
13 29
14 21
15 27
16 22
17 17
18 22
19 28
20 22

要查找上述创建的数据框中 df1 中 x 列的基于区间的频率,请将以下代码添加到上述代码片段中 -

x<-rpois(20,20)
df1<-data.frame(x)
table(cut(df1$x,seq(15,35,5)))

输出

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

(15,20] (20,25] (25,30] (30,35]
     6      10       3       1

示例 2

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

y<-sample(0:100,20)
df2<-data.frame(y)
df2

创建了以下数据框

    y
1  65
2  36
3  45
4  52
5  74
6  44
7  14
8  71
9  33
10 18
11 76
12 72
13 4
14 57
15 64
16 34
17 59
18 86
19 47
20 26

要查找上述创建的数据框中 df2 中 y 列的基于区间的频率,请将以下代码添加到上述代码片段中 -

y<-sample(0:100,20)
df2<-data.frame(y)
table(cut(df2$y,seq(0,100,20)))

输出

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

(0,20] (20,40] (40,60] (60,80] (80,100]
    3       4       6       6        1

示例 3

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

z<-sample(101:500,20)
df3<-data.frame(z)
df3

创建了以下数据框

    z
1  337
2  331
3  341
4  392
5  259
6  458
7  106
8  188
9  474
10 217
11 169
12 272
13 299
14 198
15 368
16 448
17 157
18 395
19 232
20 323

要查找上述创建的数据框中 df3 中 z 列的基于区间的频率,请将以下代码添加到上述代码片段中 -

z<-sample(101:500,20)
df3<-data.frame(z)
table(cut(df3$z,seq(100,600,100)))

输出

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

(100,200] (200,300] (300,400] (400,500] (500,600]
       5         5         7         3         0

更新于: 2021年11月3日

1K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.