如何在 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+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告