我使用ddply
plyr 包中的以下代码:
ddply(mtcars,.(cyl),transform,freq=length(cyl))
这个的 data.table 版本是:
DT<-data.table(mtcars)
DT[,freq:=.N,by=cyl]
当我有多个如下功能时,如何扩展它?
ddply
现在,我想在and上执行多个功能data.table
:
ddply(mtcars,.(cyl),transform,freq=length(cyl),sum=sum(mpg))
DT[,list(freq=.N,sum=sum(mpg)),by=cyl]
但是,data.table
只给了我三列 cyl、freq 和 sum。好吧,我可以这样做:
DT[,list(freq=.N,sum=sum(mpg),mpg,disp,hp,drat,wt,qsec,vs,am,gear,carb),by=cyl]
但是,我的读取数据中有大量变量,我希望它们都像ddply(...transform....)
. 当我们只有一个功能(如上)或类似的data.table
东西时,是否有捷径?注意:我还有大量函数要运行。所以,我不能重复多次(但如果可以在这里应用,我更喜欢这个)。:=
paste(names(mtcars),collapse=",")
data.table
=:
lapply