AD

¿Ya dominas lo básico? Un curso estructurado de R es la vía rápida para dar el salto.

Ver cursos de R en Udemy

Enlace de afiliado. No te cuesta nada extra.

📊Lecciones de R
Lección 38 / 68

Acelerar cálculos con memoización

En esta lección guardarás resultados ya calculados para no repetir el trabajo.

Se usa un entorno como almacén: new.env() crea uno, exists comprueba si una clave está y assign/get guardan y recuperan.

El código de ejemplo llama varias veces y los mensajes dejan ver cuándo calcula y cuándo recuerda.

Que se use un entorno y no una lista tiene una razón de fondo muy propia de R: los entornos son la única estructura del lenguaje que se modifica en el sitio. Todo lo demás —vectores, listas, data frames— se copia al cambiarlo, así que una caché guardada en una lista se copiaría entera en cada anotación. Con un entorno no.

Dos cosas que vigilar. La memoria: una caché que nunca se vacía crece sin límite. Y la corrección: si el resultado depende de algo que puede cambiar, el valor guardado se queda obsoleto.

Para no escribir esto a mano existe el paquete memoise, que envuelve cualquier función y le añade la caché, incluso guardándola en disco entre sesiones. En análisis con pasos lentos, ahorra muchísimo tiempo.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar R directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)