Tengo un paquete en R (ROCR) que necesito cargar en mi entorno R. Al cargar el paquete, se imprime un conjunto de mensajes. Por lo general, esto está bien, pero dado que la salida de mi script R se está utilizando para análisis adicionales, quiero deshabilitar completamente toda esta salida. ¿Cómo puedo hacer eso? Además, preferiría hacerlo sin tener que modificar ROCR en absoluto, para que los futuros usuarios de este script tampoco tengan que hacerlo.
Hasta aquí:
sink()
no funciona aquí: la redirección de stdout y std err/dev/null
no hace nada por mí.- Como era de esperar,
options(warnings=-1)
tampoco hace nada, ya que estas no son advertencias, per se, que se están imprimiendo.
¿Alguna idea?
Loading required package: gplots Loading required package: gtools Loading required package: gdata
- Tenga en cuenta que no me permitirá formatear el mensaje correctamente.gplots
,gtools
ygdata
antes de cargarROCR
.Respuestas:
Solo usa
suppressMessages()
alrededor de tulibrary()
llamada:fuente
suppressPackageStartupMessages
?suppressPackageStartupMessages
solo suprime los mensajes de inicio donde, como mi preferido,suppressMessages()
suprime todos y cada uno de los mensajes (pero no,cat()
como recuerdo). Pero se supone que uno no debe usar eso en el texto de inicio.La respuesta de Dirk suprime todos los mensajes y no es específica de los mensajes que se generan al cargar paquetes.
La solución más precisa a la pregunta formulada es:
Puede encontrar una explicación un poco más detallada aquí.
fuente
Use suppressPackageStartupMessages, vea la respuesta de @MehradMahmoudian. Para completar, agregue ejemplos de uso:
Para una biblioteca, use
suppressPackageStartupMessages(...)
, por ejemplo:Para varias bibliotecas, utilice
suppressPackageStartupMessages({...})
, por ejemplo:fuente
library(ROCR, quietly = TRUE)
podría ser una opción más elegante.fuente
library(data.table, quietly = TRUE)
Al agregar
quietly = T
como se muestra a continuación, se resolverá el problema:En caso de paquetes múltiples, puede usar:
y usan lapply como se muestra a continuación:
fuente