Tenho um pacote em R (ROCR) que preciso carregar em meu ambiente R. Ao carregar o pacote, um conjunto de mensagens é impresso. Normalmente, isso é bom, mas como a saída do meu script R está sendo usada para análises posteriores, quero desativar completamente toda essa saída. Como faço isso? Além disso, prefiro fazer isso sem precisar modificar o ROCR, de modo que futuros usuários desse script também não precisem fazer isso.
Tão longe:
sink()
não funciona aqui - redirecionar stdout e std err para/dev/null
não faz nada para mim.- Sem surpresa,
options(warnings=-1)
também não faz nada, uma vez que estes não são avisos, per se, sendo impressos.
Alguma ideia?
Loading required package: gplots Loading required package: gtools Loading required package: gdata
- Observe que isso não me permite formatar a mensagem corretamente.gplots
, carregue ,gtools
egdata
antes de carregarROCR
.Respostas:
Basta usar em
suppressMessages()
torno de sualibrary()
chamada:fonte
suppressPackageStartupMessages
?suppressPackageStartupMessages
suprime apenas as mensagens de inicialização, conforme minha preferênciasuppressMessages()
suprime todas e quaisquer mensagens (mas nãocat()
que eu me lembre). Mas não se deve usar isso no texto de inicialização.A resposta de Dirk suprime todas as mensagens e não é específica para mensagens geradas durante o carregamento de pacotes.
A solução mais precisa para a pergunta feita é:
Uma explicação um pouco mais detalhada pode ser encontrada aqui
fonte
Use suppressPackageStartupMessages, veja a resposta por @MehradMahmoudian. Para completar, adicionando exemplos de uso:
Para uma biblioteca, use
suppressPackageStartupMessages(...)
, por exemplo:Para várias bibliotecas, use
suppressPackageStartupMessages({...})
, por exemplo:fonte
library(ROCR, quietly = TRUE)
pode ser uma opção mais elegante.fonte
library(data.table, quietly = TRUE)
Ao adicionar
quietly = T
conforme mostrado abaixo, o problema será resolvido:Em caso de pacote múltiplo, você pode usar:
e eles usam lapply como abaixo:
fonte