-1
有许多变数data.table让我有一些data.table
(dt
)总结可变
pga fgm fga tgp mode
1: 0.2 0.1 0.9 7.3 1
2: 1.3 7.5 8.3 8.3 3
3: 2.0 7.7 6.3 7.7 2
4: 7.3 3.6 7.0 6.6 1
5: 6.7 0.3 8.3 0.6 2
6: 5.0 3.7 -1.1 -3.2 1
....
我需要计算mean
通过可变模式分组每个变量,并得到data.table
如下:
mode pga fgm fga tgp
1: 1 0.23 0.11 10.9 7.23
2: 2 1.32 73.5 85.3 8.33
3: 3 2.06 7.75 6.33 7.47
4: 4 6.32 32.6 7.01 6.16
....
有一个班轮来执行任务:
没关系,如果只有4个变量。但是,在现实世界中,变量的数量是〜1000。如何修改实际任务的脚本?
'DT [,lapply(.SD,平均值),通过=模式]'是运行在所有数据表中的列的函数的标准方式。虽然我不知道为什么你有'sum()'的第一列。这绝对是重复的。 –
@ HaddE.Nuff - 谢谢。我修正了错字 – Loom
Bonus trick:使用'.SDcols'来汇总很多但不是全部的列,例如'some_cols <-c(“pga”,“fgm”,“fga”,“tgp”); dt [,lapply(.SD,mean),by = mode,.SDcols = some_cols]' – MichaelChirico