Як придушити попередження в r (з прикладами)


Ви можете використовувати такі методи, щоб придушити попередження в R:

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

 suppressWarnings(one line of code)

Спосіб 2: Видаліть попередження глобально

 suppressWarnings({

several lines of code
just a bunch of code
lots and lots of code

})

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кодом, який створює два попереджувальні повідомлення:

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
x_numeric <- as. numeric (x)

#display digital vector
print (x_numeric)

Warning message:
NAs introduced by coercion 
[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11
Warning message:
In a + b: longer object length is not a multiple of shorter object length

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

Ми можемо обернути функцію suppressWarnings() навколо функції as.numeric() , щоб придушити лише перше попередження з коду:

 #define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
suppressWarnings(x_numeric <- as.numeric (x))

#display digital vector
print (x_numeric)

[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11
Warning message:
In a + b: longer object length is not a multiple of shorter object length

Зауважте, що перше попередження більше не відображається, але друге попередження все ще відображається.

Спосіб 2: Видаліть попередження глобально

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

 suppressWarnings({

#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')

#convert to numeric vector
suppressWarnings(x_numeric <- as.numeric (x))

#display digital vector
print (x_numeric)

[1] 1 2 3 NA 4 NA

#define two vectors
a <- c(1, 2, 3, 4, 5)
b <- c(6, 7, 8, 9)

#add the two vectors
a+b

[1] 7 9 11 13 11

})

Зауважте, що цього разу ми не отримуємо жодних попереджень, оскільки ми обернули функцію suppressWarnings({}) навколо всього фрагмента коду.

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

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як уникнути попередження R: досягнуто getOption(“max.print”)
Як працювати з R Попередження: glm.fit: алгоритм не зійшовся
Як виправити: runtimewarning: у double_scalars виявлено недійсне значення

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

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