Comment réparer : erreur dans xy.coords(x, y, xlabel, ylabel, log) : ‘x’ et ‘y’ les longueurs diffèrent



Une erreur courante que vous pouvez rencontrer dans R est :

Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' and 'y' lengths differ 

Cette erreur se produit lorsque vous tentez de créer un tracé de deux variables mais que les variables n’ont pas la même longueur.

Ce didacticiel explique exactement comment corriger cette erreur.

Comment reproduire l’erreur

Supposons que nous essayions de créer un nuage de points des deux variables suivantes dans R :

#define x and y variables
x <- c(2, 5, 5, 8)
y <- c(22, 28, 32, 35, 40, 41)

#attempt to create scatterplot of x vs. y
plot(x, y)

Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' and 'y' lengths differ

Nous recevons une erreur car les longueurs de x et y ne sont pas égales.

Nous pouvons le confirmer en imprimant la longueur de chaque variable :

#print length of x
length(x)

[1] 4

#print length of y
length(y)

[1] 6

#check if length of x and y are equal
length(x) == length(y)

[1] FALSE

Comment réparer l’erreur

Le moyen le plus simple de corriger cette erreur est simplement de s’assurer que les deux vecteurs ont la même longueur :

#define x and y variables to have same length
x <- c(2, 5, 5, 8, 9, 12)
y <- c(22, 28, 32, 35, 40, 41)

#confirm that x and y are the same length
length(x) == length(y)

[1] TRUE

create scatterplot of x vs. y
plot(x, y)

Si un vecteur s’avère plus court que l’autre, vous pouvez choisir de tracer uniquement les valeurs jusqu’à la longueur du vecteur le plus court.

Par exemple, si le vecteur x a 4 valeurs et le vecteur y 6 valeurs, nous pourrions créer un nuage de points en utilisant uniquement les 4 premières valeurs de chaque vecteur :

#define x and y variables
x <- c(2, 5, 5, 8)
y <- c(22, 28, 32, 35, 40, 41)

#create scatterplot of first 4 pairwise values of x vs. y
plot(x, y[1:length(x)])

Notez que seules les quatre premières valeurs de chaque vecteur sont utilisées pour créer le nuage de points.

Ressources additionnelles

Comment réparer dans R : les NA introduits par la coercition
Comment réparer dans R : indice hors limites
Comment réparer : la longueur d’un objet plus longue n’est pas un multiple de la longueur d’un objet plus courte

Ajouter un commentaire

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