如何在 R 中建立 data.table 的頻數表?
如果我們有一個 data.table 物件或一個轉換為 data.table 的資料框,並且它有一個因子列,那麼我們可能希望建立一個頻數表,該表顯示每個因子具有的值的數量或因子水平的計數。這是一種資料彙總方法,可以幫助我們瞭解因子水平出現情況的變化。如果我們有一個 data.table 物件,這可以透過一行程式碼輕鬆完成,否則我們需要先轉換物件。
示例
考慮以下資料框 -
Group<-sample(c("A","B","C","D"),20,replace=TRUE)
Frequency<-sample(1:50,20)
df1<-data.frame(Group,Frequency)
df1輸出
Group Frequency 1 A 11 2 B 19 3 A 41 4 D 24 5 A 22 6 B 26 7 C 46 8 C 4 9 A 45 10 C 44 11 A 50 12 C 20 13 B 27 14 D 12 15 A 34 16 B 6 17 C 35 18 D 32 19 A 42 20 D 30
載入 data.table 包並將資料框 df1 讀取為 data.table -
示例
library(data.table) df1<-as.data.table(df1)
查詢 df1 的頻數表,它現在是一個 data.table 物件 -
示例
df1[,.N,by=Group]
輸出
Group N 1: A 7 2: B 4 3: D 4 4: C 5
讓我們看另一個例子 -
示例
Class<-sample(c("1","2","3","4","5"),20,replace=TRUE)
Scores<-sample(1:100,20)
df2<-data.frame(Class,Scores)
df2輸出
Class Scores 1 2 45 2 5 66 3 4 61 4 5 96 5 3 27 6 5 94 7 5 51 8 3 98 9 1 14 10 3 83 11 3 6 12 1 16 13 1 18 14 1 35 15 2 70 16 4 67 17 1 63 18 5 31 19 1 58 20 4 15
示例
df2<-as.data.table(df2) df2[,.N,by=Class]
輸出
Class N 1: 2 2 2: 5 5 3: 4 3 4: 3 4 5: 1 6
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP