6  Programación R Interactiva en VSCode

Palabras clave

programación interactiva en R, R en VSCode, ejecutar código R en VSCode, Terminal de R en VSCode, httpgd en VSCode

6.1 Introducción

VSCode proporciona un entorno interactivo y flexible para ejecutar scripts R y explorar datos.

En este capítulo, exploraremos las diversas formas en que puedes aprovechar VSCode para la programación interactiva en R, centrándonos en la ejecución interactiva de código y la exploración de resultados en tiempo real.



6.2 Integración de Terminales R

VSCode le permite ejecutar interactivamente código R de varias formas, lo que resulta muy práctico para probar y explorar sus scripts.

  • Abrir un terminal R: Para iniciar una sesión de terminal R en VSCode, utilice la paleta de comandos (Ctrl + Mayús + P o Cmd + Shift + P), then select R: Create R terminal. Esto abrirá una sesión de terminal donde podrá ejecutar comandos R de forma interactiva. Por defecto, se abrirá la consola estándar de `R.

    Terminal R Estándar

    Sugerimos usar radian para una mejor experiencia en la consola de R. Radian mejora la experiencia con funciones como el resaltado de sintaxis, el autocompletado y un mejor manejo de los fragmentos de código.

    Terminal R Radian
  • Auto-Attach to Active Terminal: Si el R session watcher está activo, se conectará a la sesión de R tan pronto como se cree una nueva terminal de R. El estado del visor de sesiones se muestra en la barra de estado.

    Estado del Session Watcher
  • Ejecutar código seleccionado: Resalte una línea o bloque de código y pulse Ctrl + Intro (Windows/Linux) o Cmd + Intro (Mac) para enviar el código seleccionado al terminal R para su ejecución inmediata.

  • Ejecutar línea por línea: Sitúe el cursor en una línea y pulse Ctrl + Enter or Cmd + Enter. Esto le permite ejecutar cada línea a medida que avanza en el código, ideal para depurar o probar.

6.3 Ejecución interactiva del código de R

La extensión vscode-R se integra con el terminal R, proporcionando una interfaz sin fisuras para enviar código directamente al terminal.

  • Abrir un terminal R: Para iniciar una sesión de terminal R en VSCode, utilice la paleta de comandos (Ctrl + Mayús + P o Cmd + Shift + P), then select R: Create R terminal. Esto abrirá una sesión de terminal donde podrá ejecutar comandos R de forma interactiva. Por defecto, se abrirá la consola estándar de `R.

    Sugerimos usar radian para una mejor experiencia en la consola de R. Radian mejora la experiencia con funciones como el resaltado de sintaxis, el autocompletado y un mejor manejo de los fragmentos de código.

  • Auto-Attach to Active Terminal: Si el R session watcher está activo, se conectará a la sesión de R tan pronto como se cree una nueva terminal de R. El estado del visor de sesiones se muestra en la barra de estado.

6.4 Uso de terminales R autogestionadas

Los terminales R autogestionados son útiles cuando se necesita mantener sesiones R después de cerrar VSCode. En Linux y macOS, herramientas como screen y tmux pueden ayudar a mantener activas las sesiones de R y otros programas de terminal.

  • Utilizando screen o tmux: Estas herramientas le permiten ejecutar sesiones de terminal persistentes que permanecen activas incluso si cierra la ventana de VSCode o se desconecta del servidor. Esto es particularmente útil para ejecutar cálculos largos.

  • Iniciar una sesión R en tmux: Abra un terminal y escriba tmux para iniciar una nueva sesión. A continuación, inicie R (o radian) como de costumbre. Puede desconectarse de la tmux session by pressing Ctrl + B followed by D, and reattach later by typing tmux attach.

  • Configuración para terminales autogestionados: Para que los terminales R autogestionados se comporten como los gestionados por VSCode, añada lo siguiente a su ~/.Rprofile:

    if (interactive() && Sys.getenv("RSTUDIO") == "") {
      Sys.setenv(TERM_PROGRAM = "vscode")
      source(file.path(Sys.getenv(
        if (.Platform$OS.type == "windows") "USERPROFILE" else "HOME"
      ), ".vscode-R", "init.R"))
    }

    Después de añadir esto, al iniciar un terminal R, el observador de sesión se unirá a la sesión R.

6.5 Gráficos y visualización interactivos

6.5.1 Visualización de Plots con httpgd

El paquete httpgd proporciona una forma excelente de ver sus gráficos de forma interactiva dentro de VSCode. Crea un dispositivo gráfico que sirve gráficos a través de HTTP, que se pueden ver directamente en VSCode.

  • Activar Plot Viewer: Instala httpgd en R con install.packages('httpgd'), y habilítalo en VSCode estableciendo 'r.plot.useHttpgd': true en tu archivo `settings.json.

  • Interacción con parcelas: Al utilizar httpgd, cualquier comando de trazado que ejecute se actualizará en el visor de trazados de VSCode, ofreciéndole una forma interactiva de explorar y refinar sus visualizaciones.

    Visor de gráficos

6.5.2 Uso del Visor de Gráficos

El visor de gráficos integrado en VSCode facilita la interacción con las visualizaciones.

  • Puede ampliar, exportar o incluso copiar imágenes desde el visor.
  • Basta con hacer clic en el gráfico del panel de visualización para interactuar con él, lo que ofrece una experiencia mejorada para la exploración de datos.

6.6 Uso de R Markdown para análisis reproducibles

R Markdown proporciona una manera conveniente de combinar código, salida y comentarios en un solo lugar. VSCode, con la extensión vscode-R, ofrece soporte completo para ejecutar y previsualizar documentos R Markdown.

  • Ejecutar trozos de código: Utilice Ctrl + Alt + Enter (Windows/Linux) o Cmd + Option + Enter (Mac) para ejecutar fragmentos de código individuales dentro de un archivo R Markdown.
  • Visualización de la salida: Puede previsualizar la salida en el visor de VSCode, o renderizar el documento completo ejecutando rmarkdown::render('su_archivo.Rmd') en la terminal.

6.7 Depuración y exploración de datos

Las funciones interactivas de VSCode hacen que la depuración y la exploración de datos sean más intuitivas.

6.7.1 Herramientas de depuración

  • Establecer puntos de interrupción: Puede establecer puntos de interrupción en sus scripts de R haciendo clic en el margen izquierdo del editor, lo que facilita la pausa en la ejecución y la inspección de variables.
  • Utilizando vscDebugger: Instale el paquete vscDebugger y la extensión correspondiente de VSCode (vscode-R-debugger) para habilitar todas las funciones de depuración, como recorrer el código, inspeccionar variables y evaluar expresiones durante el tiempo de ejecución. Consulte el capítulo Capítulo 2 para configurar Vscode para la programación de R.

6.7.2 Interfaz de usuario de la barra lateral

La barra lateral de VSCode contiene herramientas útiles como el visor del espacio de trabajo, el visor de las páginas de ayuda y el controlador de uso compartido en directo.

Interfaz de usuario de la barra lateral

6.7.3 Visor del espacio de trabajo

El visor del espacio de trabajo muestra información sobre los objetos del entorno global de la sesión R adjunta.

  • Ver o Eliminar Objetos: Puedes ver objetos enviando View(obj) a la terminal o eliminarlos enviando rm(...) a la terminal.

  • Estructuras anidadas: Para mostrar el segundo nivel de estructuras anidadas, como elementos de listas o columnas de marcos de datos, puede añadir la siguiente opción:

    options(vsc.str.max.level = 2)

    Visor del espacio de trabajo

6.7.4 Visor de Páginas de Ayuda

El visor de páginas de ayuda lista varias opciones para trabajar con páginas de ayuda, temas y paquetes.

Visor de Páginas de Ayuda

6.7.5 Gestión de Paquetes

En el visor de páginas de ayuda, puede instalar y eliminar paquetes. Pulsando cualquier tecla se activará el modo de búsqueda para que pueda encontrar fácilmente un paquete por su nombre.

El Visor de páginas de ayuda proporciona una forma fácil de acceder a las páginas de ayuda, instalar/eliminar paquetes y navegar por la documentación de los paquetes.

6.8 Conclusión

Dominar la programación interactiva de R en VSCode mejora significativamente su productividad, especialmente cuando se trata de exploración de datos y visualización en tiempo real. Tanto si ejecuta scripts de R en un terminal estándar o autogestionado, como si explora conjuntos de datos, visualiza gráficos de forma interactiva o gestiona paquetes desde la barra lateral de VSCode, este flujo de trabajo integrado le permite ser más eficaz como científico de datos o desarrollador. La combinación de VSCode, la extensión vscode-R y herramientas como httpgd y radian proporciona un entorno rico en funciones para una programación R sin fisuras.