2017-02-17 6 views
2

이것은 this과 같은 게시물을 기반으로하면 간단해야하지만 어떻게 든 작동시키지 못합니다. 이 예제에 어떤 문제가 있습니까?함수 외부에 내 자신의 경고 메시지를 만드시겠습니까?

x<-1 
y<-0 
if(x>y){warning("careful, one is greater than zero!")} 

stop()와 함께 작동 :

if(x>y){stop("careful, one is greater than zero!")} 

을 그러니 나는 간단한 문법 실수를 만들고있어 또는 경고가 기능을 외부에서 사용하기로되지 않는 이유는 무엇입니까?

+6

정확히 작동하지 않는 것은 무엇입니까? 그것은 나를 위해 작동하는 것 ... – joran

+0

어쩌면 당신은 경고 표시를 활성화하지 않았습니까? –

+0

첫 번째 것은 아무 것도 반환하지 않습니다. 두 번째는 경고를 표시합니다. –

답변

1

코드가 제대로 작동합니다. 나는 R 3.3.2를 사용하고있다.

문제점에 대한 가능한 해결책은 세션에서 경고 메시지가 사용 가능한지 확인하는 것입니다. ? options을 읽으면 함수가 반환 한 값 사이에 경고 값이 있음을 알 수 있습니다. 은 경고 : 경고 메시지의 처리를 설정 기준에서

. warn이 음수이면 모든 경고가 무시됩니다. warn가 0 (기본값)이면 경고는 최상위 함수가 반환 될 때까지 저장됩니다. 10 개 이하의 경고가 신호로 보내 졌을 경우 신호가 얼마나 많은지를 나타내는 메시지가 인쇄됩니다. last.warning이라는 객체가 만들어지고 warnings 함수를 통해 인쇄 할 수 있습니다. warn이 하나 인 경우 경고가 발생하면 인쇄됩니다. warn이 2 이상이면 모든 경고가 오류로 바뀝니다.

경고에 대해 음수 값을 지정하면 경고 메시지가 표시되지 않습니다. 다음과 같은 방법으로 경고 메시지를 활성화 할 수 있습니다

options(warn=1) 

이 변경 시도하고 코드를 다시 실행.