Как исправить в 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: замена имеет нулевую длину

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *