Estoy usando R studio.¿Hay alguna manera de saber si un script R se ejecuta directamente o dentro de otro script?
Hay una manera de saber si una secuencia de comandos R se ejecuta directamente mediante el comando de origen en la consola) o dentro de otra secuencia de comandos. es decir. otro script se origina y tiene la llamada al primer script.
Esto puede ser útil para solicitar algunos valores en algunos casos.
Lo que estoy haciendo ahora es establecer una variable en verdadero o falso y dentro del script verifico esa variable. Esto funciona, pero una forma automática es mejor.
Gracias por su tiempo.
EDITAR >>> Más información
Digamos que tengo un script independiente que funciona bien como está, pero este guión es parte de un proceso que correr detrás de otro guión terminado. Si tengo que ejecutar ambos, puedo ejecutar el primero, luego el segundo; pero también tengo la oportunidad de correr el segundo.
Lo que estoy preguntando es si hay una manera de (en el segundo script) verificar si este segundo fue llamado desde el primero o no.
Tome un vistazo a sus ejemplos sencillos (inspirado por la respuesta de Greg Snow)
scripta.R:
writeLines("script A")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
source("scriptb.r")
scriptb.R:
writeLines("script B")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
writeLines("end B")
El resultado en rstudio es
script A
interactive: true
script B
interactive: true
end B
after B
Me gusta tener algo como
script A
interactive: true
script B
interactive: false
end B
after B
Espero que ahora esté más claro.
Gracias
¿Podría arrojar algo más de luz sobre por qué usa esta configuración? Suena un poco arcano para mí ... –