Hoe op te lossen: fout in xy.coords(x, y, xlabel, ylabel, log): 'x' en 'y' lengtes verschillen
Een veel voorkomende fout die u in R kunt tegenkomen is:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
Deze fout treedt op wanneer u probeert een plot van twee variabelen te maken, maar de variabelen niet dezelfde lengte hebben.
In deze tutorial wordt precies uitgelegd hoe u deze fout kunt oplossen.
Hoe de fout te reproduceren
Stel dat we een spreidingsdiagram proberen te maken van de volgende twee variabelen in 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
We krijgen een foutmelding omdat de lengtes van x en y niet gelijk zijn.
We kunnen dit bevestigen door de lengte van elke variabele af te drukken:
#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
Hoe u de fout kunt oplossen
De eenvoudigste manier om deze fout op te lossen, is door er eenvoudigweg voor te zorgen dat de twee vectoren dezelfde lengte hebben:
#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)
Als de ene vector korter blijkt te zijn dan de andere, kun je ervoor kiezen om alleen waarden te plotten tot de lengte van de kortere vector.
Als vector xa bijvoorbeeld 4 waarden heeft en vector y 6 waarden heeft, kunnen we een spreidingsdiagram maken met alleen de eerste 4 waarden van elke vector:
#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)])
Merk op dat alleen de eerste vier waarden van elke vector worden gebruikt om de puntenwolk te creëren.
Aanvullende bronnen
Hoe op te lossen in R: NA’s geïntroduceerd door dwang
Hoe te repareren in R: hint buiten de grenzen
Oplossing: Een langere objectlengte is geen veelvoud van een kortere objectlengte