Saltar al contenido

¿Cómo detengo/finalizo/detengo un script en R?

El paso a paso o código que hallarás en este post es la resolución más fácil y válida que hallamos a esta duda o dilema.

Solución:

Por lo que pude encontrar, hay ningún comando único eso realmente detiene un script en cada plataforma/versión. Hay varias formas de manejar esto:

Póngalo en una función o corchetes:


if (TRUE) stop("The value is TRUE, so the script must end here")

print("Script did NOT end!")

O evalúe el error y manéjelo como en una construcción if else:

if (TRUE) stop("The value is TRUE, so the script must end here")    
   else  #continue the script
print("Script did NOT end!")   
  

O (EDITAR): Otra posibilidad es llamar al script desde un R-scipt ‘principal’ separado, con source("MyScript.R"). Entonces el script termina. Sin embargo, esto suprime todas las salidas que no sean errores en la consola.

O para operaciones más complejas, utilice tryCatch() como se muestra aquí

tal vez sea un poco tarde, pero recientemente enfrenté el mismo problema y descubrí que la solución más simple para mí era usar:

quit(save="ask")

Desde ?quit puedes ver eso:

guardar debe ser uno de “no”, “sí”, “preguntar” o “predeterminado”. En el primer caso no se guarda el espacio de trabajo, en el segundo se guarda y en el tercero se le pregunta al usuario y también puede decidir no salir. El valor predeterminado es preguntar en uso interactivo, pero puede ser anulado por argumentos de línea de comandos (que deben proporcionarse en uso no interactivo).

Luego puede decidir no salir de R haciendo clic en “cancelar” cuando aparezca el cuadro de mensaje.

¡Espero que ayude!

Muy simple: llamar a una función que no ha sido declarada:

condition <- TRUE
if (condition) 
  print('Reason for stopping')
  UNDECLARED()

Y el script se detendrá con los mensajes:

[1] "Reason for stopping"
Error in UNDECLARED() : could not find function "UNDECLARED"

Puntuaciones y comentarios

Eres capaz de amparar nuestro trabajo ejecutando un comentario o dejando una puntuación te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *