Systèmes d'alerte précoce

Programmation R défensive

Dr. Colin Gillespie

Jumping Rivers

Systèmes d'alerte précoce

  • Éviter les problèmes quand c'est possible
  • Gérer les enjeux au fur et à mesure, de façon sensée

Par exemple, utiliser les raccourcis T/F pour TRUE/FALSE

Programmation R défensive

Problème 1 : TRUE et FALSE

  • TRUE et FALSE sont des valeurs spéciales
  • On ne peut pas les remplacer
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
Programmation R défensive

Problème 2 : TRUE et FALSE

Supposons que nous calculons une statistique F. Il serait naturel d'avoir

# df est la fonction de densité F
(F <- df(1, 9, 67))
[1] 0.7798

Mais R traite les nombres positifs comme TRUE, donc

if(F) message("Yer aff yer heid!")
Yer aff yer heid!

F est maintenant interprété comme TRUE !

Programmation R défensive
  • Prenez l'habitude d'utiliser TRUE et FALSE
    • pas T ni F
      • Si vous testez TRUE, utilisez isTRUE()
isTRUE(T)
[1] TRUE
isTRUE(2)
[1] FALSE
T <- 10
isTRUE(T)
[1] FALSE
Programmation R défensive

Passons à la pratique !

Programmation R défensive

Preparing Video For Download...