Funkcja warning()

Defensywne programowanie w R

Dr. Colin Gillespie

Jumping Rivers

Komunikat ostrzeżenia

Funkcja warning()

warning("You have been warned!")
# Warning message:
# You have been warned!
  • sygnalizuje, że coś mogło pójść nie tak
  • R kontynuuje działanie (w odróżnieniu od błędu)
  • "Warning message:" jest (przed)dołączane
Defensywne programowanie w R

Wyciszanie ostrzeżeń

Podobnie jak komunikaty, ostrzeżenia można wyciszać za pomocą

  • suppressWarnings()`

Prawie nigdy nie jest to dobry pomysł

  • Należy rozwiązać podstawowy problem!
Defensywne programowanie w R

Kiedy używać ostrzeżenia?

Zdjęcie: Austin Chan

Defensywne programowanie w R

Dobre zastosowanie ostrzeżenia

Załóżmy, że wykonujemy regresję na

d = data.frame(y = 1:4, x1 = 1:4)
d$x2 = d$x1 + 1

Zatem x2 = x1 + 1

Dopasowując model wielokrotnej regresji liniowej

m = lm(y ~ x1 + x2, data = d)
summary(m)
# Some output removed 
# Warning message:
# In summary.lm(m) : essentially perfect fit: summary may be unreliable
Defensywne programowanie w R

Twoja kolej

Defensywne programowanie w R

Preparing Video For Download...