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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *