绕过data.table小插曲“data.table 简介”,第 2 节“聚合”中的示例就是这样
ans <- flights[, .(.N), by = .(origin)]
ans
# origin N
# <char> <int>
# 1: JFK 81483
# 2: LGA 84433
# 3: EWR 87400
Run Code Online (Sandbox Code Playgroud)
Relacing.N用length的如“年”给出了相同数量的每个组的列:
> flights[, .(length(year)), by = .(origin)]
origin V1
1: JFK 81483
2: LGA 84433
3: EWR 87400
Run Code Online (Sandbox Code Playgroud)
或者
> flights[, .(length(carrier)), by = .(origin)]
origin V1
1: JFK 81483
2: LGA 84433
3: EWR 87400
Run Code Online (Sandbox Code Playgroud)
这是预料之中的。但是,当我使用length(origin),即在 中用作分组变量的相同变量时by,会执行不同的计算:结果为 1:
> …Run Code Online (Sandbox Code Playgroud)