2012-08-16 3 views
2

rpy2를 사용하여 Python으로 R을 가져올 때 어떻게 경고를 표시하지 않습니까?rpy2에서 경고 표시 안 함

그것은 R에 당신이

options(warn=-1) 

다음 바로해야 할 것으로 보인다 ...하지만 내가 파이썬에서이 작업을 수행하려면 어떻게 R.에 익숙하지 않은거야?

+0

개로 끌 수 있습니다.이 경고는 처음에 R 패키지를 가져 오거나 정규 세션 (예 : 일부 R 표현식) 중에 발행되는 경우에 발생합니까? – chl

+0

후자는 내가 호출하는 일부 함수에 의해 생성됩니다. –

+0

'suppressWarnings()'옵션이있을 수 있습니다. – chl

답변

2

당신은 답을 직접 많이 주셨습니다. 당신은 RPY 사용하여 파이썬에서 options(warn=-1) 함수를 호출 할 수 있습니다 : 그것은 이런 식으로 뭔가를해야 RPY2를 들어

rpy.r['options'](warn=-1) 

(이 시도하지 않은) :

rpy2.robjects.r['options'](warn=-1) 

그냥의 시작 부분에 넣어 당신의 Python 스크립트 (모듈 가져 오기 이후)와 모든 경고를 표시하지 말아야합니다.

+1

rpy2에서 작동하지 않는 것 같습니다. 분명히 사람은 잔인하게 supprese 수 있습니다 : 'import warnings warnings.filterwarnings ("ignore")'이것은 rpy2 경고뿐만 아니라 영향을 받기 때문에 우아하지 않습니다. – schmi

5

rpy2의 경고 시스템은 파이썬의 warnings 모듈을 사용합니다. 따라서 해당 패키지의 filterwarnings() 기능을 사용하여 경고를 끌 수 있습니다. 이미 다른 답변에 대한 언급에서 지적했듯이 R 관련 경고가 영향을받을뿐만 아니라 위험 할 수 있습니다.

그러나 rpy2에는 자체 경고 클래스 인 RRuntimeWarning이 있습니다. 따라서 이러한 유형의 경고는

import warnings 
from rpy2.rinterface import RRuntimeWarning 
warnings.filterwarnings("ignore", category=RRuntimeWarning) 
관련 문제