Jak pominąć ostrzeżenia w r (z przykładami)


Aby ukryć ostrzeżenia w języku R, możesz użyć następujących metod:

Metoda 1: Usuń ostrzeżenia z określonej linii

 suppressWarnings(one line of code)

Metoda 2: Usuń ostrzeżenia globalnie

 suppressWarnings({

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

})

Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującym kodem, który generuje dwa komunikaty ostrzegawcze:

 #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

Metoda 1: Usuń ostrzeżenia z określonej linii

Możemy owinąć funkcję supresWarnings() wokół funkcji as.numeric(), aby pominąć tylko pierwsze ostrzeżenie z kodu:

 #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

Należy pamiętać, że pierwszy komunikat ostrzegawczy nie jest już wyświetlany, ale drugi komunikat ostrzegawczy nadal się pojawia.

Metoda 2: Usuń ostrzeżenia globalnie

Możemy owinąć funkcję supresWarnings({}) wokół całego fragmentu kodu, aby globalnie wyłączyć wszystkie ostrzeżenia:

 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

})

Pamiętaj, że tym razem nie otrzymamy żadnych ostrzeżeń, ponieważ owinęliśmy funkcję supreswarnings({}) wokół całego fragmentu kodu.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak uniknąć ostrzeżenia R: osiągnięto getOption(„max.print”)
Jak obsługiwać R Ostrzeżenie: glm.fit: algorytm nie jest zbieżny
Jak naprawić: runtimewarning: napotkano nieprawidłową wartość w double_scalars

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *