如何在 R 的 data.table 物件列中查詢每個類別的百分比?


要在 R 中的 data.table 物件中查詢每個類別的百分比,我們可以按照以下步驟操作:

  • 首先,建立一個 data.table 物件。

  • 然後,在分組後使用 dplyr 包的 summarise 函式以及 n 和 nrow。

示例

建立 data.table 物件

讓我們建立一個如下所示的 data.table 物件:

library(data.table)
Factor<-sample(c("very low","low","medium","high","very high"),25,replace=TRUE)
Response<-rnorm(25)
DT<-data.table(Factor,Response)
DT

輸出

執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):

    Factor     Response
1:  low       -1.61215323
2:  very high -0.44482842
3:  very low  -0.08886876
4:  very high -0.23859749
5:  high       0.24527395
6:  low        1.36309052
7:  low        0.85434533
8:  low       -0.04598830
9:  high      -0.09693464
10: low       -0.66470019
11: high      -0.27726887
12: medium     0.30070368
13: very low  -1.10935270
14: high       2.05570820
15: low       -0.61390253
16: low        1.04354500
17: high      -1.74834030
18: very low  -0.84208037
19: medium     2.26732484
20: very high -0.30309612
21: low        0.72720852
22: high      -2.52034038
23: very low -1.50381843
24: high     -0.61927487
25: high      0.14854389
   Factor      Response

查詢 data.table 物件中每個類別的百分比

使用 dplyr 包的 summarise 函式,在分組後以及 n 和 nrow,以查詢 data.table 物件 DT 的 Factor 列中每個類別的百分比:

library(data.table)
Factor<-sample(c("very low","low","medium","high","very high"),25,replace=TRUE)
Response<-rnorm(25)
DT<-data.table(Factor,Response)
library(dplyr)
DT %>% group_by(Factor) %>% summarise(Percent=n()/nrow(.))

輸出

# A tibble: 5 x 2
Factor  Percent
  <chr>     <dbl>
1 high      0.32
2 low       0.32
3 medium    0.08
4 very high 0.12
5 very low  0.16

更新於: 2021年11月10日

969 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告