조기 경보 시스템

방어적 R 프로그래밍

Dr. Colin Gillespie

Jumping Rivers

조기 경보 시스템

  • 가능하면 문제를 미리 피합니다
  • 발생한 이슈는 합리적으로 처리합니다

예: TRUE/FALSET/F 단축형 사용

방어적 R 프로그래밍

문제 1: TRUE와 FALSE

  • TRUE와 FALSE는 특수 값입니다
  • 이를 덮어쓸 수 없습니다
TRUE <- 5
# Error in TRUE <- 5 : invalid (do_set) left-hand side to assignment
방어적 R 프로그래밍

문제 2: TRUE와 FALSE

F-통계를 계산한다고 가정해 봅시다. 자연스럽게 이렇게 할 수 있습니다

# df는 F-밀도 함수입니다
(F <- df(1, 9, 67))
[1] 0.7798

하지만 R은 양수를 TRUE로 취급하므로

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

이제 FTRUE로 처리됩니다!

방어적 R 프로그래밍
  • T, F가 아닌 TRUE, FALSE를 습관적으로 사용하십시오
    • TRUE인지 검사할 때는 isTRUE()를 사용하십시오

isTRUE(T)


----CODE_GLUE----
```out

[1] TRUE

isTRUE(2)
[1] FALSE
T <- 10 isTRUE(T)
[1] FALSE
방어적 R 프로그래밍

연습해 봅시다

방어적 R 프로그래밍

Preparing Video For Download...