HOWTO · R
Cómo ejecutar un script de R desde la línea de comandos
Aprende a ejecutar un script de R desde una terminal o el símbolo del sistema con Rscript, pasarle argumentos, programarlo con cron y controlar sus cambios con Git.
En esta página
Para ejecutar un script de R desde un terminal o una línea de comandos, guarda el código en un archivo y ejecútalo con Rscript path/to/script.R. R debe estar instalado y el shell debe encontrar Rscript mediante PATH; de lo contrario, usa la ruta completa del ejecutable instalado. Este método resulta útil para análisis reproducibles, scripts que reciben datos y tareas programadas.
¿Qué es Rscript?
Rscript es el programa de línea de comandos que ejecuta código R desde un script o desde una instrucción que se le proporciona directamente. Es adecuado para tareas no interactivas: las instrucciones están en un archivo o en un comando, y el proceso termina cuando acaba el trabajo. En cambio, una sesión interactiva de R permite introducir comandos y consultar los resultados a medida que se trabaja.
La instalación de R incluye Rscript. Abre un terminal en macOS o Linux, o el Símbolo del sistema o PowerShell en Windows, y comprueba si el comando está disponible con Rscript --version. Si el shell indica que no encuentra el comando, instala R o localiza el ejecutable incluido con R y usa su ruta completa. Las carpetas de instalación varían según el sistema operativo y la instalación, así que evita depender de una ruta específica de versión copiada de otro equipo.
Ejecutar un script de R con Rscript
Crea un archivo llamado mean.R con este sencillo ejemplo. Si se proporcionan números en la línea de comandos, los utiliza; de lo contrario, usa un conjunto integrado. Así, puedes ejecutar el archivo tal como se muestra o adaptarlo a otros valores.
args <- commandArgs(trailingOnly = TRUE)
numbers <- if (length(args) > 0) as.numeric(args) else c(1, 2, 3, 4, 5)
cat("Mean: ", mean(numbers), "\n", sep = "")
Con la entrada predeterminada, el código usa los números del 1 al 5; al revisar el código, se espera que imprima Mean: 3. Este ejemplo no se ha verificado en tiempo de ejecución. La etiqueta Mean del ejemplo inalterado permanece en inglés.
Ejecútalo desde la carpeta que contiene el archivo con Rscript mean.R. Para ejecutarlo desde otra carpeta, indica la ruta del script, por ejemplo, Rscript /path/to/mean.R. En Windows, pon entre comillas las rutas que contengan espacios, por ejemplo, Rscript "C:/Users/Ada/My Scripts/mean.R"; usa el formato de ruta que acepte el shell que hayas abierto. Si Rscript no está en PATH, sustituye el comando por la ruta completa del ejecutable y mantén la ruta del script como argumento independiente.
Para una expresión breve que no requiera guardar un archivo, usa la opción -e en un shell similar a POSIX o en PowerShell; por ejemplo, Rscript -e 'mean(iris$Sepal.Length)'. Esta forma con comillas simples no sirve en el Símbolo del sistema de Windows, que interpreta las comillas simples como caracteres literales; allí, usa el ejemplo del script guardado. El conjunto de datos iris está disponible en una instalación estándar de R. Las opciones --help y --version solicitan ayuda del comando e información de la versión; --verbose solicita una salida más detallada del comando. Son útiles para comprobar los detalles de invocación o diagnosticar una ejecución. -e lleva un solo guion, así que no todas las opciones empiezan con dos.
Pasar argumentos a un script de R
Un script puede leer los valores que aparecen después del nombre del archivo mediante commandArgs(trailingOnly = TRUE). El ejemplo anterior convierte cada argumento proporcionado en un número y calcula su media. Por ejemplo, Rscript mean.R 10 20 30 pasa tres valores separados. Si una entrada contiene espacios, ponla entre comillas en el shell para que se reciba como un solo argumento. Indica claramente el formato de entrada que espera el script y adapta las conversiones y la validación si vas a usar datos que no sean números.
Programar scripts de R con tareas cron
En sistemas similares a Unix, cron puede iniciar un script según un horario. Edita el crontab de tu usuario con crontab -e y añade una entrada como 0 2 * * * /usr/bin/Rscript /path/to/report.R para solicitar una ejecución diaria a las 2:00, según la configuración de cron de la máquina. Las rutas del ejecutable y del script son ejemplos; usa las rutas del equipo que ejecutará la tarea.
Las tareas programadas pueden iniciarse en una carpeta de trabajo y con un entorno distintos de los de tu shell interactivo. Usa rutas absolutas para el ejecutable, el script y los archivos de entrada o salida, y configura la captura de la salida o los errores si necesitas diagnosticar las ejecuciones programadas. Cron es una opción de programación para sistemas similares a Unix; en Windows, puedes usar el Programador de tareas del sistema.
Integrar R con Git para el control de versiones
Git puede registrar los cambios en scripts de R y otros archivos del proyecto, lo que facilita revisar modificaciones o restaurar una versión anterior. Es opcional: no hace falta Git para ejecutar un script con Rscript. En la carpeta del proyecto, inicializa un repositorio con git init, añade los archivos que quieras registrar con git add y guarda una instantánea con git commit. Revisa qué archivos se incluirán en la confirmación y evita añadir datos generados o credenciales, salvo que deban formar parte del historial del proyecto.
Conclusión
Guarda el código en un archivo de R y ejecútalo con Rscript seguido de la ruta del script. Comprueba que R esté instalado y que el shell pueda encontrar el ejecutable, pon las rutas entre comillas cuando sea necesario y pasa los valores de entrada después del nombre del archivo. Para tareas recurrentes, usa un programador de tareas con rutas adecuadas a su entorno; usa Git cuando quieras registrar los cambios en los scripts.
Preguntas frecuentes
-
¿Cómo instalo R y Rscript?
Instala R para tu sistema operativo siguiendo sus instrucciones de instalación.Rscriptviene incluido con R; en este flujo de trabajo no es necesario instalarlo por separado. -
¿Puedo ejecutar un script de R en Windows?
Sí. Usa el Símbolo del sistema o PowerShell y ejecutaRscript script.Rsi el ejecutable está disponible enPATH. Si no, invoca el ejecutable instalado mediante su ruta completa. Pon entre comillas las rutas que contengan espacios, de acuerdo con las reglas de comillas del shell. -
¿Cuál es la diferencia entre Rscript y R?
Rscriptestá pensado para ejecutar un script o una expresión desde la línea de comandos. El comandoRsuele iniciar una sesión interactiva, donde puedes introducir comandos y consultar los resultados mientras trabajas. -
¿Cómo puedo comprobar la versión instalada de Rscript?
EjecutaRscript --versionen el terminal o en el Símbolo del sistema. El comando debe estar disponible enPATHo debes invocarlo mediante su ruta completa. -
¿Cómo puedo ejecutar varios scripts de R uno tras otro?
En un shell similar a Unix, une los comandos con&&, por ejemplo,Rscript first.R && Rscript second.R. El segundo comando se ejecuta solo si el primero termina correctamente. Para una secuencia más larga, coloca las invocaciones en un script de shell o en otro programador de tareas adecuado para tu sistema.