ddply
私はplyrパッケージを使用して次のコードを持っています:
ddply(mtcars,.(cyl),transform,freq=length(cyl))
これの data.table バージョンは次のとおりです。
DT<-data.table(mtcars)
DT[,freq:=.N,by=cyl]
以下のような関数が複数ある場合、これを拡張するにはどうすればよいですか?
今、私は と で複数の機能を実行しddply
たい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 の 3 つの列しか表示されません。さて、私はこのようにすることができます:
DT[,list(freq=.N,sum=sum(mpg),mpg,disp,hp,drat,wt,qsec,vs,am,gear,carb),by=cyl]
しかし、読み取りデータに多数の変数があり、ddply(...transform....)
. (上記のように)関数が1つしかない場合や、内にこのようなものがある場合とdata.table
同じように、ショートカットはありますか?注: 実行する関数も多数あります。したがって、何度も繰り返すことはできません(ただし、ここで適用できる場合はこれを希望します)。:=
paste(names(mtcars),collapse=",")
data.table
=:
lapply