Як виправити в r: аргументи містять різну кількість рядків
Помилка, з якою ви можете зіткнутися в R:
arguments imply differing number of rows: 6, 5
Ця помилка виникає, коли ви намагаєтеся створити фрейм даних і кількість рядків у кожному стовпці фрейму даних неоднакова.
У наступному прикладі показано, як виправити цю помилку на практиці.
Як відтворити помилку
Припустімо, ми намагаємося створити фрейм даних у R за допомогою трьох векторів:
#definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)
#attempt to create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)
Error in data.frame(x1 = x1, x2 = x2, y = y):
arguments imply differing number of rows: 6, 5
Ми отримуємо помилку, оскільки кожен вектор має різну довжину, тому кожен стовпець у результуючому кадрі даних не має однакової кількості рядків.
Ми можемо перевірити це, надрукувавши довжину кожного вектора:
#print length of each vector
length(x1)
[1] 6
length(x2)
[1] 5
length(y)
[1] 6
Ми бачимо, що вектор x2 має довжину 5, яка не відповідає довжині векторів x1 і y .
Як виправити помилку
Щоб виправити цю помилку, нам просто потрібно переконатися, що кожен вектор має однакову довжину, щоб кожен стовпець у результуючому кадрі даних мав однакову кількість рядків.
Наприклад, ми могли б доповнити найкоротший вектор значеннями NA, щоб кожен вектор мав однакову довжину:
#definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)
#pad shortest vector with NA's to have same length as longest vector
length(x2) <- length(y)
#create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)
#view resulting data frame
df
x1 x2 y
1 1 8 9
2 2 8 11
3 3 8 12
4 4 7 13
5 5 5 14
6 6 NA 16
Зауважте, що ми не отримуємо повідомлення про помилку, оскільки кожен стовпець у результуючому кадрі даних має однакову кількість рядків.
Додаткові ресурси
У наступних посібниках пояснюється, як виправити інші типові помилки в R:
Як виправити в R: аргумент не є ні числовим, ні логічним: return na
Як відновити в R: нечисловий аргумент бінарного оператора
Як відремонтувати в R: заміна має нульову довжину