如何在 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