Во-первых, многие из этих «петель являются плохими» болтовнями из темных веков, когда петли, где фактически менее эффективно реализованы, в частности, в некоторых версиях S-Plus.
Тем не менее, и в то время как Ваш комментарий о необходимости большого объекта индекса является правильным, вы можете также использовать
функции из apply
семьи, такие как sapply
, lapply
или tapply
раскатать свои структуры
относительно новый iterators пакет, который позволяет также избежать большого вектора вы упомянули как ограничение памяти
Ra 'accelerated R' variant and its jit package, который может значительно ускорить простые циклы.
Как дополнительный бонус, варианты одного и два дает путь к параллельному выполнению петель на соответствующих системах с помощью инструментов из CRAN упаковывает снег, многоядерный, или NWS просто назвать несколько.
Dirk, я недавно прочитал статью Ihaka & Lang («Назад в будущее: Lisp как основа для статистической вычислительной системы»), в которой R-петли сравниваются неблагоприятно с Python's. Оба они медленны по сравнению с CLOS. Я спрашиваю, будет ли R «не похож» на функциональный язык. Что вы думаете? – gappy
Никакой дополнительной информации здесь, извините. С одной стороны, у вас большая база пользователей R и необходимость обратной совместимости, с другой - желание экспериментировать с новыми функциями. Я думаю, что изменения будут только эволюционными, а не революционными. –