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

Ajouter un commentaire

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