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.tablecyl、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