ループは通常、R では理想的ではないことを認識していますが、必要な場合もあります。
大きなループを書くときは、そうではありません
for (i in 1:large_number)
サイズが large_number のベクトルを作成する必要があるため、メモリを浪費しますか?
これにより、必要な大規模なループに対して while ループが最適な選択になるでしょうか?
ループは通常、R では理想的ではないことを認識していますが、必要な場合もあります。
大きなループを書くときは、そうではありません
for (i in 1:large_number)
サイズが large_number のベクトルを作成する必要があるため、メモリを浪費しますか?
これにより、必要な大規模なループに対して while ループが最適な選択になるでしょうか?
まず第一に、「ループは悪い」というおしゃべりの多くは、特に S-Plus の一部のバージョンでループが実際にはあまり効率的に実装されていなかった暗黒時代に由来します。
そうは言っても、大きなインデックス オブジェクトの必要性についてのコメントは正しいですが、使用することもできます
apply
などのファミリーからの機能sapply
、lapply
またはtapply
構造を展開する
メモリの制約として言及した大きなベクトルも回避する比較的新しいiteratorsパッケージ
追加のボーナスとして、オプション 1 と 2 は、ほんの数例を挙げると、CRAN パッケージの snow、multicore、または NWS のツールを使用して、適切なシステムでループを並列実行するためのパスを提供します。