1000個以上の行を持つデータセットに適用すると、Rにチョーク機能があります。したがって、私は自分のデータセットをn個のチャンクのリストに分割したい。各チャンクは1000行以下である。私はそれが速く、大規模なデータセットで実行されるように、この機能をより効率的にしたいと思いデータセットをチャンクに分割する
chunkData <- function(Data,chunkSize){
Chunks <- floor(0:(nrow(Data)-1)/(chunkSize))
lapply(unique(Chunks),function(x) Data[Chunks==x,])
}
chunkData(iris,100)
:
は、ここで私は現在、チャンキングを行うために使用している機能です。
... data.framesの代わりに行列を使用することができ、なぜ1000個の以上の行を持つオブジェクトの上にチョーク機能を固定していませんか? –
はい、確かに!メモリ管理や、データをどのように整理するかについて学ぶ必要があるかもしれません。また、「チョーク」を定義します。退屈する前に1000rows(*いくつの列?)が終了したからといって、10^5行の正味の処理時間が改善されるわけではありません。 –
@CarlWitthoftとJosh:提案に感謝します。私はすでに関数をかなり最適化していますが、メモリを吸うデータ変換がたくさんあり、避けることはできないと思います。私は実際にそれを吸い上げて、この関数を行ごとに 'apply 'することにしました。これは長い時間がかかりますが、メモリ不足はありません。 – Zach