為 R 資料框中每個值的列建立四分位數列。


任何數值資料都可以使用三個四分位數將其劃分為四個部分,第一個四分位數在 25%,第二個四分位數在 50%,第三個四分位數在 75%,因此將有四個部分來表示一組資料中的前 25%、第二 25%、第三 25% 和最後 25%。

如果我們想為 R 資料框中每個值的列建立一個四分位數(1 到 4)列,則可以使用 quantile 函式和 cut 函式,如下面的示例所示。

示例 1

以下程式碼片段建立了一個示例資料框 -

x<-sample(1:50,20)
df1<-data.frame(x)
df1

建立了以下資料框

    x
1   4
2  44
3   1
4  14
5   5
6  18
7   3
8  16
9  41
10 10
11 35
12 48
13 36
14 23
15 17
16 19
17 11
18 43
19 28
20 29

要為上面建立的資料框中 df1 的列 x 建立一個四分位數列,請將以下程式碼新增到上述程式碼片段中 -

x<-sample(1:50,20)
df1<-data.frame(x)
df1$Quartile<-cut(df1$x,quantile(df1$x),include.lowest=TRUE,labels=FALSE)
df1

輸出

如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出 -

    x Quartile
1   4   1
2  44   4
3   1   1
4  14   2
5   5   1
6  18   2
7   3   1
8  16   2
9  41   4
10 10   1
11 35   3
12 48   4
13 36   4
14 23   3
15 17   2
16 19   3
17 11   2
18 43   4
19 28   3
20 29   3

示例 2

以下程式碼片段建立了一個示例資料框 -

y<-rnorm(20)
df2<-data.frame(y)
df2

建立了以下資料框

           y
1  -0.08949509
2  -0.12711363
3  -0.52805367
4   0.08087408
5  -1.35069115
6   0.13678392
7  -0.41386292
8  -0.80830050
9  -1.13387570
10 -1.56282579
11 -1.27191819
12  1.10834061
13 -1.53450425
14  0.83568645
15 -0.52896185
16  0.45211521
17 -1.45162982
18 -0.63935428
19  1.71258558
20  1.09091493

要為上面建立的資料框中 df2 的列 y 建立一個四分位數列,請將以下程式碼新增到上述程式碼片段中 -

y<-rnorm(20)
df2<-data.frame(y)
df2$Quartile<-cut(df2$y,quantile(df2$y),include.lowest=TRUE,labels=FALSE)
df2

輸出

如果您將上面給出的所有程式碼片段作為單個程式執行,它將生成以下輸出 -

            y Quartile
1  -0.08949509    3
2  -0.12711363    3
3  -0.52805367    2
4   0.08087408    3
5  -1.35069115    1
6   0.13678392    3
7  -0.41386292    3
8  -0.80830050    2
9  -1.13387570    2
10 -1.56282579    1
11 -1.27191819    1
12  1.10834061    4
13 -1.53450425    1
14  0.83568645    4
15 -0.52896185    2
16  0.45211521    4
17 -1.45162982    1
18 -0.63935428    2
19  1.71258558    4
20  1.09091493    4

更新時間: 2021 年 11 月 5 日

3K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.