Mensajes de error y advertencia en R

Cuando se utiliza R, especialmente cuando se crean funciones, es posible añadir mensajes simples, mensajes de advertencia o mensajes de error para informar al usuario sobre algo crítico o no crítico con las funciones message
, warning
y stop
. En este tutorial aprenderás a crear estos mensajes y también a listar o suprimir estos mensajes si es posible.
Los mensajes creados con estas funciones aparecerán en la consola de R en naranja.
Mensajes de diagnóstico con message()
La función message
imprime un mensaje personalizado en la consola para informar al usuario sobre algo no crítico. Supón que estás escribiendo una función y quieres informar al usuario para que espere pacientemente hasta que termine, así que añades algunos mensajes que se mostrarán al usuario, como en el ejemplo de abajo:
Si estás construyendo un paquete y quieres un mensaje de inicio puedes usar la función packageStartupMessage
en su lugar.
La función proporciona un argumento llamado appendLF
que por defecto es TRUE
para añadir o no una nueva línea. Si estableces este argumento a FALSE
los mensajes se añadirán en la misma línea.
Suprimir mensajes con suppressMessages
Si una función muestra mensajes y no quieres que aparezcan en tu consola puedes envolver la función que produce esos mensajes dentro de suppressMessages
para eliminarlos.
Ten en cuenta que también puedes escribir más líneas de código dentro de suppressMessages
si utilizas llaves, como se muestra en el siguiente ejemplo.
Para suprimir los mensajes de inicio de un paquete, utiliza la función suppressPackageStartupMessages
, por ejemplo: suppressPackageStartupMessages(library(dplyr))
Mensajes de advertencia con warning()
La función warning
está diseñada para informar al usuario sobre posibles problemas en el código. En el siguiente ejemplo mostramos un mensaje de advertencia si la entrada no es numérica.
Lista con los últimos mensajes de advertencia con warnings
La función warnings
imprime los últimos mensajes de advertencia que aparecieron en consola proporcionados por la variable last.warning
.
Eliminar mensajes de advertencia con suppressWarnings
Es posible ignorar o suprimir el mensaje de advertencia de una función con la función suppressWarnings
.
Una alternativa para suprimir el mensaje de advertencia es establecer warn = -1
dentro de options
, como se muestra en el siguiente ejemplo. Recuerda volver a la configuración por defecto (warn = 0
) para mostrar las advertencias de nuevo.
Mensajes de error con stop()
La función stop
detiene la ejecución del código y lanza el mensaje de error que quieras. Esta función está diseñada para detener el código cuando se produce un error crítico e informar de ello al usuario.
Obtener el último mensaje de error
La función geterrmessage
proporciona el último mensaje de error disponible como cadena de caracteres.