如何在R中使用data.table物件建立帶有求和功能的透視表?


要使用儲存在R中data.table物件的資料建立帶有求和功能的透視表,我們可以按照以下步驟操作:

  • 首先,建立一個包含兩個分類列和一個數值列的data.table物件。

  • 然後,使用reshape2包中的dcast函式為儲存在data.table物件中的資料建立透視表。

示例

建立data.table物件

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

library(data.table)
Factor<-sample(c("I","II","III","IV","V","VI","VII"),25,replace=TRUE)
Level<-sample(c("Low","Medium","High"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(Factor,Level,Response)
DT

輸出

執行上述指令碼後,將生成以下輸出(此輸出由於隨機化而可能因系統而異):

    Factor Level Response
1:  III    Low    82
2:  IV     Low    42
3:  III    High   87
4:  IV     High   97
5:  IV     Low    29
6:  V      Low    20
7:  V      Medium 50
8:  II     Low    23
9:  I      Low    26
10: V      Medium 39
11: V      Low    13
12: I      High   92
13: I      Low    74
14: III    High    9
15: V      Medium 61
16: II     Medium  2
17: VI     Medium 38
18: IV     Medium 98
19: VI     Low    76
20: I      High   85
21: IV     Low    91
22: II     High   60
23: V      Medium 71
24: IV     High    8
25: I      High   55
   Factor  Level Response

建立透視表

使用reshape2包中的dcast函式為儲存在data.table物件DT中的資料建立透視表:

library(data.table)
Factor<-sample(c("I","II","III","IV","V","VI","VII"),25,replace=TRUE)
Level<-sample(c("Low","Medium","High"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(Factor,Level,Response)
library(reshape2) dcast(data=DT,formula=Factor~Level,fun.aggregate=sum,value.var="Response")

輸出

 Factor High Low Medium
1 I     232  100   0
2 II     60   23   2
3 III    96   82   0
4 IV    105  162  98
5 V       0   33 221
6 VI      0   76  38

更新於: 2021年11月16日

167 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.