HOWTO · R
Reiniciar R en R Studio
Este artículo primero explica la necesidad de reiniciar R y luego menciona formas alternativas de reiniciar R usando R Studio.
En esta página
Para reiniciar una sesión de R en RStudio, selecciona Session > Restart R o pulsa Ctrl + Shift + F10 (en Mac, usa Command en lugar de Ctrl). El reinicio elimina los objetos de la sesión actual e inicia R de nuevo; no garantiza que el sistema operativo devuelva de inmediato toda la memoria a otras aplicaciones.
Por qué reiniciar una sesión de R en RStudio
RStudio ejecuta código R en una sesión. Al trabajar con varios scripts dentro de la misma sesión, estos pueden compartir objetos del entorno global (Global Environment). Por ejemplo, asignar un valor nuevo a un nombre de objeto cambia lo que verá el código posterior que use ese nombre, incluso si está en otro script.
Al reiniciar, se inicia un proceso de R nuevo y se eliminan los objetos de esa sesión. Los paquetes que estaban adjuntos a la sesión anterior dejan de estarlo, así que tendrás que cargar los paquetes y crear los objetos que necesite tu análisis. Reiniciar puede ayudarte a comprobar que un script funciona desde un inicio limpio. La recuperación de memoria depende de R y del sistema operativo; no des por hecho que el reinicio liberará una cantidad concreta de memoria.
Reiniciar R desde la interfaz de RStudio
Para reiniciar rápidamente, usa la interfaz de RStudio:
- Selecciona Session > Restart R.
- También puedes pulsar Ctrl + Shift + F10. En Mac, pulsa Command + Shift + F10.
La opción del menú resulta útil si el atajo cambia según la plataforma o la versión de RStudio. Guarda el trabajo que necesites antes de reiniciar. Cuando R vuelva a iniciarse, ejecuta de nuevo el código de configuración necesario, como el que carga paquetes y lee datos.
Reiniciar R mediante código: opciones admitidas y no documentadas
Si el código necesita solicitar un reinicio desde una sesión activa de RStudio, usa rstudioapi::restartSession() del paquete rstudioapi. El paquete debe estar disponible para la sesión de R y la llamada debe ejecutarse en RStudio. Esta función envía la solicitud de reinicio al IDE; no es un método general para reiniciar un proceso de R iniciado fuera de RStudio. La llamada solicita que se reinicie la sesión activa de RStudio.
rstudioapi::restartSession()
El comando interno .rs.restartR() no está documentado y depende de componentes internos de RStudio. Evita depender de él en scripts o flujos de trabajo: no forma parte de una interfaz pública admitida y su comportamiento puede cambiar. No es una alternativa recomendada al menú documentado ni a la API de rstudioapi.
La función quit() de R, por ejemplo quit(save = "no", status = 0), termina el proceso de R. No inicia por sí misma un proceso de reemplazo, así que no sirve para reiniciar R.
Usar proyectos de RStudio para trabajar con sesiones separadas
Un proyecto de RStudio reúne archivos relacionados y la configuración del proyecto, incluido su directorio de trabajo. Los proyectos pueden facilitar la organización del análisis, y RStudio puede asociar el estado del espacio de trabajo a un proyecto según su configuración. Un proyecto, por sí solo, no garantiza que se ejecuten varios procesos de R simultáneamente; si necesitas sesiones concurrentes, usa otra ventana de RStudio u otro proceso.
Referencias
- El capítulo 8 de R for Data Science explica cómo usar proyectos en un flujo de trabajo de R.
- La sección 1.6 de R for Health Data Science trata sobre reiniciar R con regularidad y las opciones de inicio de RStudio.