Comment réparer : aucun argument non manquant au minimum ; retour d’information
Un message d’avertissement que vous pouvez rencontrer dans R est :
Warning message: In min(data) : no non-missing arguments to min; returning Inf
Ce message d’avertissement apparaît chaque fois que vous essayez de trouver la valeur minimale ou maximale d’un vecteur de longueur nulle.
Il est important de noter qu’il ne s’agit que d’un message d’avertissement et qu’il n’empêchera pas réellement l’exécution de votre code.
Cependant, vous pouvez utiliser l’une des méthodes suivantes pour éviter complètement ce message d’avertissement :
Méthode 1 : supprimer le message d’avertissement
suppressWarnings(min(data))
Méthode 2 : définir une fonction personnalisée pour calculer le minimum ou le maximum
#define custom function to calculate min custom_min <- function(x) {if (length(x)>0) min(x) else Inf} #use custom function to calculate min of data custom_min(data)
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Méthode 1 : supprimer le message d’avertissement
Supposons que nous essayions d’utiliser la fonction min() pour trouver la valeur minimale d’un vecteur de longueur nulle :
#define vector with no values
data <- numeric(0)
#attempt to find min value of vector
min(data)
[1] Inf
Warning message:
In min(data) : no non-missing arguments to min; returning Inf
Notez que nous recevons un message d’avertissement qui nous indique que nous avons tenté de trouver la valeur minimale d’un vecteur sans aucun argument non manquant.
Pour éviter ce message d’avertissement, nous pouvons utiliser la fonction suppressWarnings() :
#define vector with no values
data <- numeric(0)
#find minimum value of vector
suppressWarnings(min(data))
[1] Inf
La valeur minimale est toujours calculée comme étant « Inf » mais nous ne recevons aucun message d’avertissement cette fois.
Méthode 2 : définir une fonction personnalisée
Une autre façon d’éviter le message d’avertissement est de définir une fonction personnalisée qui calcule la valeur minimale uniquement si la longueur d’un vecteur est supérieure à zéro, sinon une valeur de « Inf » est renvoyée :
#define vector with no values
data <- numeric(0)
#define custom function to calculate min
custom_min <- function(x) {if (length(x)>0) min(x) else Inf}
#use custom function to calculate min
custom_min(data)
[1] Inf
Notez que la valeur minimale est calculée comme étant « Inf » et nous ne recevons aucun message d’avertissement.
Ressources additionnelles
Les didacticiels suivants expliquent comment résoudre d’autres erreurs courantes dans R :
Comment réparer dans R : dim(X) doit avoir une longueur positive
Comment réparer dans R : les noms ne correspondent pas aux noms précédents
Comment réparer dans R : la longueur d’un objet plus longue n’est pas un multiple de la longueur d’un objet plus courte
Comment réparer dans R : les contrastes ne peuvent être appliqués qu’à des facteurs avec 2 niveaux ou plus