Как узнать длину текущей группы в группе data.table?
Я знаю, что это может быть достигнуто с другими пакетами, но яя пытаюсь сделать это вdata.table
(как кажется, самый быстрый для группировки).
library(data.table)
dt = data.table(a=c(1,2,2,3))
dt[,length(a),by=a]
результаты в
a V1
1: 1 1
2: 2 1
3: 3 1
в то время как
df = data.frame(a=c(1,2,2,3))
ddply(df,.(a),summarise,V1=length(a))
производит
a V1
1 1 1
2 2 2
3 3 1
что является более разумным результатом. Просто интересно почемуdata.table
не дает такие же результаты, и как этого можно достичь.