data.frameで動作するが、それを行列に変換しないrollapply(標準RまたはCRANパッケージ内)のような関数はありますか?rollapplyはdata.frameで使用できますが、data.frameのタイプが混在している場合は、データの各ウィンドウが文字(行列)に変換されます。
rollapplyのように幅、na.pad、alignなどをサポートする関数が好きです
例
混合型のdata.frameを取得します
test = data.frame( Name = c( "bob" , "jane" , "joe" ) , Points = c( 4 , 9 , 1 ) )
ウィンドウサイズ2でロールしたいとします。FUNの最初の反復は、テストの行1と2のみを含むdata.frameで呼び出されます。
したがってRollapplyThatRespectsDataFrame( ... , FUN = function( x ) { ... } )
、最初の反復で設定されますx = data.frame( Name = c( "bob" , "jane" ) , Points = c( 4 , 9 ) )
2番目の反復は、の行2と3を持つdata.frameですtest
。
基本的に、この新しい関数は、data.framesで正しく機能することを除いて、rollapplyと同じことを行います。行列には変換されません。