Come sopprimere gli avvisi in r (con esempi)


È possibile utilizzare i seguenti metodi per eliminare gli avvisi in R:

Metodo 1: rimuovere gli avvisi su una riga specifica

 suppressWarnings(one line of code)

Metodo 2: rimuovere gli avvisi a livello globale

 suppressWarnings({

several lines of code
just a bunch of code
lots and lots of code

})

Gli esempi seguenti mostrano come utilizzare in pratica ciascun metodo con il seguente codice, che produce due messaggi di avviso:

 #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

Metodo 1: rimuovere gli avvisi su una riga specifica

Possiamo racchiudere la funzione soppressWarnings() attorno alla funzione as.numeric() per sopprimere solo il primo avviso dal codice:

 #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

Tieni presente che il primo messaggio di avviso non viene più visualizzato, ma appare ancora il secondo messaggio di avviso.

Metodo 2: rimuovere gli avvisi a livello globale

Possiamo racchiudere la funzione sopprimeWarnings({}) attorno all’intero pezzo di codice per sopprimere tutti gli avvisi a livello globale:

 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

})

Tieni presente che questa volta non riceviamo alcun avviso perché abbiamo avvolto la funzione sopprimeWarnings({}) attorno all’intero pezzo di codice.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come evitare l’avviso R: raggiunto getOption(“max.print”)
Come gestire R Avviso: glm.fit: l’algoritmo non converge
Come risolvere il problema: runtimewarning: rilevato valore non valido in double_scalars

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *