Как исправить в r: ошибка в rep(1, n): недопустимый аргумент «раз»


Ошибка, с которой вы можете столкнуться в R:

 Error in rep(1, times = -4): invalid 'times' argument

Эта ошибка возникает, когда вы указываете одно из следующих значений в качестве аргумента times в функции Rep() :

  • Отрицательное значение
  • значение NA
  • Вектор значений

Поскольку функция Rep() реплицирует элементы определенное количество раз, допустимо только неотрицательное значение аргумента Times .

В этом руководстве объясняется, как именно исправить эту ошибку.

Как воспроизвести ошибку

Предположим, мы пытаемся повторить значение «1»-4 раза:

 #attempt to replicate "1" -4 times
rep(1, times = -4)

Error in rep(1, times = -4): invalid 'times' argument

Или предположим, что мы пытаемся воспроизвести значение «1» NA раз:

 #attempt to replicate "1" NA times
rep(1, times = NA)

Error in rep(1, times = NA): invalid 'times' argument

Или предположим, что мы пытаемся воспроизвести значение «1» 2 и 3 раза:

 #attempt to replicate "1" 2 times and 3 times
rep(1, times = c(2, 3))

Error in rep(1, times = c(2, 3)): invalid 'times' argument

Мы получаем ошибку в каждом сценарии, поскольку нам не удалось предоставить неотрицательное значение аргумента times в каждом сценарии.

Как исправить ошибку

Чтобы исправить эту ошибку, просто укажите неотрицательное значение аргументу times в функции Rep() .

Например, следующий код показывает, как реплицировать значение «1» 7 раз:

 #replicate 1 7 times
rep(1, times = 7)

[1] 1 1 1 1 1 1 1

Значение «1» повторяется 7 раз, и мы не получаем ошибок, поскольку предоставили допустимое значение аргументу times .

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в R:

Как исправить в R: NA, введенные принудительно
Как восстановить в R: индекс выходит за пределы
Как исправить в R: длина более длинного объекта не кратна длине более короткого объекта
Как отремонтировать в R: количество заменяемых элементов не кратно длине замены

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

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