gen*_*ama 32 r data.table
我正在寻找一种通过data.table进行简单聚合/计数的方法.
考虑虹膜数据,每个物种有50个观测值.为了计算每个物种的观察结果,我必须总结除物种以外的一列,例如"Sepal.Length".
library(data.table)
dt = as.data.table(iris)
dt[,length(Sepal.Length), Species]
Run Code Online (Sandbox Code Playgroud)
我发现这令人困惑,因为看起来我正在Sepal.Length上做一些事情,乍一看,真的只有物种才重要.
这是我想说的,但我没有得到有效的输出:
dt[,length(Species), Species]
Run Code Online (Sandbox Code Playgroud)
> dt[,length(Sepal.Length), Species]
Species V1
1: setosa 50
2: versicolor 50
3: virginica 50
Run Code Online (Sandbox Code Playgroud)
> dt[,length(Species), Species]
Species V1
1: setosa 1
2: versicolor 1
3: virginica 1
Run Code Online (Sandbox Code Playgroud)
mne*_*nel 38
data.table有几个符号可以在j表达式中使用.值得注意的是
.N 将为您提供每组中的行数.看?data.table详细信息by
高级:当通过
by或按i 分组时,符号.SD,.BY和.N可以在j表达式中使用,定义如下.....
.N是一个整数,长度为1,包含组中的行数.
例如:
dt[, .N ,by = Species]
Species N
1: setosa 50
2: versicolor 50
3: virginica 50
Run Code Online (Sandbox Code Playgroud)