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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *