Funktionen warning()

Defensiv R-programmering

Dr. Colin Gillespie

Jumping Rivers

Varningsmeddelandet

Funktionen warning()

warning("You have been warned!")
# Warning message:
# You have been warned!
  • signalerar att något kan ha gått fel
  • R fortsätter (till skillnad från ett fel)
  • "Warning message:" läggs till (i förväg)
Defensiv R-programmering

Undertrycka varningar

Precis som meddelanden kan du undertrycka varningar med

  • suppressWarnings()`

Detta är nästan aldrig en bra idé

  • Åtgärda det underliggande problemet!
Defensiv R-programmering

När bör du använda en varning?

Foto av Austin Chan

Defensiv R-programmering

Ett bra användningsfall för warning

Anta att vi utför regression på

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

Så att x2 = x1 + 1

När vi anpassar en multipel linjär regressionsmodell

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
Defensiv R-programmering

Nu kör vi en övning!

Defensiv R-programmering

Preparing Video For Download...