경고 메시지가 사라졌다. 하지만 이렇게 경고 메시지를 가리는 것은 별로 좋지 않다. 잠재적인 오류가 발생하는 것을 모르고 지나칠 수 있기 때문이다. 결국 마지막 결과까지 보고 나서야 오류가 있다는 것을 알게 된다. 어쩌면 끝까지 모를 수도 있다. 코드에 더 엄격해야 하고 디버깅하는 시간도 줄여야 한다.
warn을 1 또는 2로 설정하면 코드에 버그가 될 만한 부분이 있을 때 더 빨리 실패하게 한다. warn = 0일 때 함수를 실행하면 기본적으로 일단 값을 반환한 후 모든 경고 메시지를 함께 표시한다. 예로 다음 문자열 2개를 받는 함수를 호출해서 살펴보자.
> f <- function(x, y) { + as.numeric(x)+ as.numeric(y) + }
경고 레벨이 기본값일 때 함수의 결괏값을 출력하고 모든 경고 메시지가 뒤이어 나오는 것을 볼 수 있다.
> options(warn = 0) > f("hello", "world") [1] NA Warning messages: 1: In f("hello", "world") : NAs introduced by coercion 2: In f("hello", "world") : NAs introduced by coercion