Como suprimir avisos em r (com exemplos)
Você pode usar os seguintes métodos para suprimir avisos em R:
Método 1: remover avisos em uma linha específica
suppressWarnings(one line of code)
Método 2: remover avisos globalmente
suppressWarnings({ several lines of code just a bunch of code lots and lots of code })
Os exemplos a seguir mostram como usar cada método na prática com o código a seguir, que produz duas mensagens de aviso:
#define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector x_numeric <- as. numeric (x) #display digital vector print (x_numeric) Warning message: NAs introduced by coercion [1] 1 2 3 NA 4 NA #define two vectors a <- c(1, 2, 3, 4, 5) b <- c(6, 7, 8, 9) #add the two vectors a+b [1] 7 9 11 13 11 Warning message: In a + b: longer object length is not a multiple of shorter object length
Método 1: remover avisos em uma linha específica
Podemos envolver a função suprimirWarnings() em torno da função as.numeric() para suprimir apenas o primeiro aviso do código:
#define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector suppressWarnings(x_numeric <- as.numeric (x)) #display digital vector print (x_numeric) [1] 1 2 3 NA 4 NA #define two vectors a <- c(1, 2, 3, 4, 5) b <- c(6, 7, 8, 9) #add the two vectors a+b [1] 7 9 11 13 11 Warning message: In a + b: longer object length is not a multiple of shorter object length
Observe que a primeira mensagem de aviso não aparece mais, mas a segunda mensagem de aviso ainda aparece.
Método 2: remover avisos globalmente
Podemos agrupar a função suprimirWarnings({}) em todo o trecho de código para suprimir todos os avisos globalmente:
suppressWarnings({ #define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector suppressWarnings(x_numeric <- as.numeric (x)) #display digital vector print (x_numeric) [1] 1 2 3 NA 4 NA #define two vectors a <- c(1, 2, 3, 4, 5) b <- c(6, 7, 8, 9) #add the two vectors a+b [1] 7 9 11 13 11 })
Observe que desta vez não recebemos nenhum aviso porque agrupamos a função suprimirWarnings({}) em todo o trecho de código.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como evitar o aviso R: alcançado getOption(“max.print”)
Como lidar com o aviso R: glm.fit: algoritmo não convergiu
Como corrigir: runtimewarning: valor inválido encontrado em double_scalars