Comment supprimer les avertissements dans R (avec exemples)
Vous pouvez utiliser les méthodes suivantes pour supprimer les avertissements dans R :
Méthode 1 : supprimer les avertissements sur une ligne spécifique
suppressWarnings(one line of code)
Méthode 2 : supprimer les avertissements à l’échelle mondiale
suppressWarnings({ several lines of code just a bunch of code lots and lots of code })
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le code suivant, qui produit deux messages d’avertissement :
#define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector x_numeric <- as.numeric(x) #display numeric 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éthode 1 : supprimer les avertissements sur une ligne spécifique
Nous pouvons envelopper la fonction suppressWarnings() autour de la fonction as.numeric() pour supprimer uniquement le premier avertissement du code :
#define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector suppressWarnings(x_numeric <- as.numeric(x)) #display numeric 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
Notez que le premier message d’avertissement n’apparaît plus mais que le deuxième message d’avertissement apparaît toujours.
Méthode 2 : supprimer les avertissements à l’échelle mondiale
Nous pouvons envelopper la fonction suppressWarnings({}) autour de l’intégralité du morceau de code pour supprimer tous les avertissements globalement :
suppressWarnings({ #define character vector x <- c('1', '2', '3', NA, '4', 'Hey') #convert to numeric vector suppressWarnings(x_numeric <- as.numeric(x)) #display numeric 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 })
Notez que nous ne recevons aucun avertissement cette fois car nous avons enveloppé la fonction suppressWarnings({}) autour de l’intégralité du morceau de code.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment éviter l’avertissement R : atteint getOption (« max.print »)
Comment gérer R Avertissement : glm.fit : l’algorithme n’a pas convergé
Comment réparer : runtimewarning : valeur non valide rencontrée dans double_scalars