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