小编Num*_*ari的帖子

.N 在 `by` 中使用变量时与 length(variable) 不同

绕过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.Nlength的如“年”给出了相同数量的每个组的列:

> 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)

r data.table

5
推荐指数
1
解决办法
66
查看次数

标签 统计

data.table ×1

r ×1