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