Як виправити: помилка в xy.coords(x, y, xlabel, ylabel, log): довжини 'x' і 'y' відрізняються
Поширена помилка, з якою ви можете зіткнутися в R:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
Ця помилка виникає, коли ви намагаєтеся створити графік із двох змінних, але змінні мають різну довжину.
Цей посібник пояснює, як саме виправити цю помилку.
Як відтворити помилку
Припустімо, ми намагаємося створити діаграму розсіювання наступних двох змінних у 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
Ми отримуємо помилку, оскільки довжини x і y не рівні.
Ми можемо підтвердити це, надрукувавши довжину кожної змінної:
#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
Як виправити помилку
Найпростіший спосіб виправити цю помилку — просто переконатися, що два вектори мають однакову довжину:
#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)

Якщо один вектор виявляється коротшим за інший, ви можете вибрати лише значення довжини коротшого вектора.
Наприклад, якщо вектор xa має 4 значення, а вектор y має 6 значень, ми могли б створити діаграму розсіювання, використовуючи лише перші 4 значення кожного вектора:
#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)])

Зверніть увагу, що для створення хмари точок використовуються лише перші чотири значення кожного вектора.
Додаткові ресурси
Як виправити в R: NAs, введені примусово
Як ремонтувати в R: підказка поза межами
Як виправити: більша довжина об’єкта не є кратною меншій довжині об’єкта