Як виправити: принаймні відсутність непропущених аргументів; зворотній зв'язок


Попередження, яке ви можете зустріти в R:

 Warning message:
In min(data): no non-missing arguments to min; returning Inf 

Це попередження з’являється щоразу, коли ви намагаєтеся знайти мінімальне або максимальне значення вектора нульової довжини.

Важливо зауважити, що це лише попереджувальне повідомлення , яке насправді не завадить запуску коду.

Однак ви можете скористатися одним із наведених нижче методів, щоб повністю уникнути цього попередження.

Спосіб 1: видаліть попередження

 suppressWarnings(min(data))

Спосіб 2. Визначте спеціальну функцію для обчислення мінімуму або максимуму

 #define custom function to calculate min
custom_min <- function (x) { if (length(x)>0) min(x) else Inf}

#use custom function to calculate min of data
custom_min(data)

Наступні приклади показують, як використовувати кожен метод на практиці.

Спосіб 1: видаліть попередження

Припустімо, ми намагаємося використати функцію min(), щоб знайти мінімальне значення вектора нульової довжини:

 #define vector with no values
data <- numeric(0)

#attempt to find min value of vector
min(data)

[1] Lower
Warning message:
In min(data): no non-missing arguments to min; returning Inf

Зауважте, що ми отримуємо попереджувальне повідомлення про те, що ми намагалися знайти мінімальне значення вектора без будь-яких непропущених аргументів.

Щоб уникнути цього попередження, ми можемо використати функцію suppressWarnings() :

 #define vector with no values
data <- numeric(0)

#find minimum value of vector
suppressWarnings(min(data))

[1] Lower

Мінімальне значення все ще обчислюється як « Inf », але цього разу ми не отримуємо жодних попереджень.

Спосіб 2. Визначте спеціальну функцію

Ще один спосіб уникнути попередження — визначити спеціальну функцію, яка обчислює мінімальне значення, лише якщо довжина вектора більша за нуль, інакше повертається значення « Inf »:

 #define vector with no values
data <- numeric(0)

#define custom function to calculate min
custom_min <- function (x) { if (length(x)>0) min(x) else Inf}

#use custom function to calculate min
custom_min(data)

[1] Lower

Зауважте, що мінімальне значення обчислюється як « Inf », і ми не отримуємо жодних попереджень.

Додаткові ресурси

У наступних посібниках пояснюється, як вирішити інші поширені помилки в R:

Як виправити в R: dim(X) має мати позитивну довжину
Як виправити в R: імена не збігаються з попередніми іменами
Як виправити в R: довжина довшого об’єкта не кратна довжині коротшого об’єкта
Як виправити в R: контрасти можна застосовувати лише до факторів із 2 або більше рівнями

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *