Jak naprawić: błąd w xy.coords(x, y, xlabel, ylabel, log): długości „x” i „y” są różne
Typowym błędem, jaki możesz napotkać w R jest:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
Ten błąd występuje, gdy próbujesz utworzyć wykres dwóch zmiennych, ale zmienne nie są tej samej długości.
W tym samouczku dokładnie wyjaśniono, jak naprawić ten błąd.
Jak odtworzyć błąd
Załóżmy, że próbujemy utworzyć wykres rozrzutu następujących dwóch zmiennych w 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
Otrzymujemy błąd, ponieważ długości x i y nie są równe.
Możemy to potwierdzić, drukując długość każdej zmiennej:
#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
Jak naprawić błąd
Najłatwiejszym sposobem naprawienia tego błędu jest po prostu upewnienie się, że oba wektory mają tę samą długość:
#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)

Jeśli jeden wektor okaże się krótszy od drugiego, możesz zdecydować się na wykreślenie tylko wartości do długości krótszego wektora.
Na przykład, jeśli wektor xa ma 4 wartości, a wektor y ma 6 wartości, możemy utworzyć wykres rozrzutu, używając tylko pierwszych 4 wartości każdego wektora:
#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)])

Należy pamiętać, że do utworzenia chmury punktów wykorzystywane są tylko pierwsze cztery wartości każdego wektora.
Dodatkowe zasoby
Jak naprawić w R: NA wprowadzone przez przymus
Jak naprawić w R: wskazówka poza zakresem
Jak naprawić: Dłuższa długość obiektu nie jest wielokrotnością krótszej długości obiektu