如何在R的data.table物件中,根據多個列計算某一列的各行之和?
要根據R的data.table物件中的多個列計算某一列的各行之和,我們可以按照以下步驟:
首先,建立一個data.table物件。
然後,使用aggregate函式根據多個列計算某一列的各行之和。
示例
建立data.table物件
讓我們建立一個data.table物件,如下所示:
library(data.table)
F1<-sample(c("Male","Female"),25,replace=TRUE)
F2<-sample(c("Low","Medium","High"),25,replace=TRUE)
F3<-sample(c("I","II","III"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(F1,F2,F3,Response)
DT輸出
執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出可能因您的系統而異):
F1 F2 F3 Response 1: Male Medium I 2 2: Female Low I 32 3: Female High II 43 4: Male Medium I 24 5: Male Medium III 88 6: Female High I 95 7: Male Low II 68 8: Female High I 74 9: Female High II 12 10: Male High III 42 11: Male High I 62 12: Male High III 67 13: Female High III 38 14: Male Low III 73 15: Female Low III 3 16: Male Medium III 98 17: Female Low I 100 18: Male Medium II 89 19: Female High II 81 20: Female Low I 53 21: Female Medium II 91 22: Female High II 63 23: Female High II 60 24: Male Medium II 72 25: Female Medium III 56 F1 F2 F3 Response
根據多個列計算某一列的各行之和
使用aggregate函式根據F1、F2和F3列計算Response列的各行之和,如下所示:
library(data.table)
F1<-sample(c("Male","Female"),25,replace=TRUE)
F2<-sample(c("Low","Medium","High"),25,replace=TRUE)
F3<-sample(c("I","II","III"),25,replace=TRUE)
Response<-sample(1:100,25)
DT<-data.table(F1,F2,F3,Response)
DT[,sum(Response),by=.(F1,F2,F3)]輸出
F1 F2 F3 V1 1: Male Medium I 26 2: Female Low I 185 3: Female High II 259 4: Male Medium III 186 5: Female High I 169 6: Male Low II 68 7: Male High III 109 8: Male High I 62 9: Female High III 38 10: Male Low III 73 11: Female Low III 3 12: Male Medium II 161 13: Female Medium II 91 14: Female Medium III 56
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP