如何在R的data.table物件中根據另一個分類列查詢類別的比例?
為了在R的data.table物件中根據另一個分類列查詢類別的比例,我們可以按照以下步驟操作:
- 首先,建立一個data.table物件。
- 根據分類列查詢比例。
建立data.table物件
載入data.table包並建立一個具有兩個分類列的data.table物件:
library(data.table) Category1<-sample(LETTERS[1:3],30,replace=TRUE) Category2<-sample(letters[1:4],30,replace=TRUE) DT<-data.table(Category1,Category2) DT
執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出可能因您的系統而異):
Category1 Category2 1: C d 2: B a 3: C d 4: C a 5: B c 6: C b 7: B a 8: B b 9: B c 10: B d 11: B a 12: A d 13: C d 14: B a 15: A a 16: C a 17: B d 18: C c 19: C c 20: A b 21: A d 22: C c 23: B d 24: C c 25: A d 26: A b 27: B a 28: A c 29: B d 30: A d Category1 Category2
根據分類列查詢比例
使用帶有factor函式的tabulate函式來查詢Category1值中Category2值的比例:
library(data.table) Category1<-sample(LETTERS[1:3],30,replace=TRUE) Category2<-sample(letters[1:4],30,replace=TRUE) DT<-data.table(Category1,Category2) DT[order(Category2),.(Category2=letters[1:4],Proportion=tabulate(factor(Category2))/.N ),by=Category1]
Category1 Category2 Proportion 1: B a 0.41666667 2: B b 0.08333333 3: B c 0.16666667 4: B d 0.33333333 5: C a 0.20000000 6: C b 0.10000000 7: C c 0.40000000 8: C d 0.30000000 9: A a 0.12500000 10: A b 0.25000000 11: A c 0.12500000 12: A d 0.50000000
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP