まずで管理するメモリ割り当て、この質問を約は、r:ループ
Error: cannot allocate vector of size n
与えられたとして、私はこのエラーを受け入れ、私は私が持っている
コード内のエラーを回避しようとしていますではありません3000個の+変数と12万例
すべての列が数値のデータセット
NAをゼロでリセットする必要があります
データセット全体で値を0に再割り当てすると、メモリが 割り当てエラーになります。
だから私は一度ゼロ1列に値を再割り当てしています: `約1000列の後
resetNA <- function(results) { for (i in 1:ncol(results)) { if(i>10) { results[,i][is.na(results[,i])] <- 0 } } print(head(results)) }
、私はまだメモリ割り当てエラーが発生します。
これは私にとっては奇妙なことです。何らかの形で、各ループの後にメモリの割り当てが増加しています。しかし、なぜこれが当てはまるのかわかりません。
また、ループごとにガベージコレクション関数を呼び出そうとしましたが、まだメモリ割り当てエラーがあります。
メモリ割り当ての増加が避けられるように変数を管理する方法を教えてもらえますか(結局のところ、データフレームのサイズは変更されていません)。
は、リストに関数を適用し、リストにデータを分割し、その後 –
感謝を再結合し、私はそれを試してみますよ。しかし、このループがインクリメンタルメモリ割り当てを引き起こす理由を説明できますか? – Jake
また、答えを投稿してくださいと私はupvoteしてください。私は自分自身の質問に回答を投稿するのが嫌いですが、質問を残して嫌いであれば、これはもっと助かります – Jake