Dan*_*ein 6 loops for-loop r while-loop
在R中意识到循环通常不理想,有时它们是必要的.
在写大循环时,没有
for (i in 1:large_number)
Run Code Online (Sandbox Code Playgroud)
浪费内存,因为必须创建大小为large_number的向量?
这会使while循环成为大型必要循环的最佳选择吗?
Dir*_*tel 12
首先,很多"循环都不好"的喋喋不休源于黑暗时代,当时循环实际上效率较低,特别是在某些版本的S-Plus中.
也就是说,虽然您对大型索引对象的需求的评论是正确的,但您也可以使用
来自apply家庭的功能,例如sapply,lapply或tapply展开您的结构
相对较新的迭代器包,它也避免了你提到的作为内存约束的大向量
所述RA"加速R"变体和其JIT包可显著加速简单的循环.
作为额外的奖励,选项一和二使用来自CRAN软件包snow,multicore或NWS的工具提供了在合适系统上并行执行循环的路径,仅举几例.