すべてに少なくとも1つの行が含まれ(実際には、1つの行のみが含まれるものもあれば、特定の数の行が含まれるものもある)、すべて同じ列(名前とタイプ)。重要な場合は、行のどこにもNAがないことも確信しています。
状況は次のようにシミュレートできます。
#create one row
onerowdfr<-do.call(data.frame, c(list(), rnorm(100) , lapply(sample(letters[1:2], 100, replace=TRUE), function(x){factor(x, levels=letters[1:2])})))
colnames(onerowdfr)<-c(paste("cnt", 1:100, sep=""), paste("cat", 1:100, sep=""))
#reuse it in a list
someParts<-lapply(rbinom(200, 1, 14/200)*6+1, function(reps){onerowdfr[rep(1, reps),]})
(ランダム化の)パラメーターを設定して、実際の状況に近づけるようにしました。
ここで、これらすべてのデータフレームを1つのデータフレームに統合したいと思います。rbindを使用すると、次のようにうまくいくと思いました。
system.time(
result<-do.call(rbind, someParts)
)
さて、私のシステム(特に遅くはありません)で、上記の設定で、これはsystem.timeの出力です:
user system elapsed
5.61 0.00 5.62
200個の変数の254行(私の場合)を処理するのに6秒近くかかりますか?確かに、ここでパフォーマンスを向上させる方法が必要ですか?私のコードでは、同様のことを頻繁に行う必要があるため(複数の代入によるものです)、これをできるだけ高速にする必要があります。