Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment réparer dans R : l’argument est de longueur nulle



Un message d’erreur que vous pouvez rencontrer lors de l’utilisation de R est :

Error in if (x < 10) { : argument is of length zero

Cette erreur se produit généralement lorsque vous tentez d’effectuer une comparaison logique dans une instruction if dans R, mais que la variable que vous utilisez dans la comparaison est de longueur zéro.

Deux exemples de variables de longueur nulle sont numeric() ou Character(0) .

L’exemple suivant montre comment résoudre cette erreur dans la pratique.

Comment reproduire l’erreur

Supposons que nous créions la variable numérique suivante dans R avec une longueur nulle :

#create numeric variable with length of zero
x <- numeric()

Supposons maintenant que nous essayions d’utiliser cette variable dans une instruction if :

#if x is less than 10, print x to console
if(x < 10) {
  x
}

Error in if (x < 10) { : argument is of length zero

Nous recevons une erreur car la variable que nous avons définie a une longueur nulle.

Si nous créions simplement une variable numérique avec une valeur réelle, nous ne recevrions jamais cette erreur lors de l’utilisation de l’instruction if :

#create numeric variable
y <- 5

#if y is less than 10, print y to console
if(y < 10) {
  y
}

[1] 5

Comment éviter l’erreur

Pour éviter l’erreur de longueur d’argument zéro , nous devons inclure une fonction isTRUE , qui utilise la logique suivante :

is.logical(x) && length(x) == 1 && !is.na(x) && x

Si nous utilisons cette fonction dans l’instruction if, nous ne recevrons pas d’erreur lors de la comparaison de notre variable à une valeur :

if(isTRUE(x) && x < 10) {
  x
}

Au lieu de recevoir une erreur, nous ne recevons simplement aucune sortie car la fonction isTRUE(x) est évaluée à FALSE , ce qui signifie que la valeur de x n’est jamais imprimée.

Ressources additionnelles

Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :

Comment réparer dans R : les arguments impliquent un nombre de lignes différent
Comment réparer dans R : erreur dans la sélection des arguments inutilisés
Comment réparer dans R : le remplacement a une longueur nulle

Ajouter un commentaire

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