2009-08-06 18 views

Respuesta

12

En primer lugar, muchos de los que son malos 'bucles' charla deriva de la Edad Media, cuando los bucles en que, de hecho, implementadas de manera menos eficiente, en particular, en algunas versiones de S-Plus.

Dicho esto, y mientras que su comentario acerca de la necesidad de un índice de objeto grande es correcta, también se puede utilizar

  • funciones de la familia apply como sapply, lapply o tapply para desenrollar sus estructuras

  • el relativamente nuevo iterators paquete que también evita el gran vector que usted ha mencionado como una limitación de memoria

  • el Ra 'accelerated R' variant and its jit package que puede acelerar significativamente los bucles simples.

Como ventaja añadida, las opciones de uno y dos dan un camino hacia la ejecución en paralelo de los bucles en los sistemas adecuados usando herramientas del CRAN paquetes de nieve, de múltiples núcleos, o NWS sólo para nombrar unos pocos.

+0

Dirk, leí recientemente un artículo de Ihaka & Lang ("Regreso al futuro: Lisp como base para un sistema de computación estadística"), en el que los R bucles se comparaban desfavorablemente con los de Python. Ambos son lentos en comparación con CLOS. Estoy preguntando si R se volverá "similar a" un lenguaje funcional. ¿Cuál es tu opinión? – gappy

+1

Sin información adicional aquí, lo siento. Por un lado usted tiene la gran base de usuarios de la I y la necesidad de compatibilidad hacia atrás, por el otro el deseo de experimentar con nuevas características. Creo que los cambios solo serán evolutivos, no revolucionarios. –