it-source

R 스크립트에서 전체적으로 경고를 억제하는 방법

criticalcode 2023. 6. 5. 23:58
반응형

R 스크립트에서 전체적으로 경고를 억제하는 방법

나는 약간의 경고를 던지는 긴 R 스크립트를 가지고 있지만 무시할 수 있습니다.나는 사용할 수 있습니다.

suppressWarnings(expr)

단문에 대해서만하지만 어떻게 하면 전 세계적으로 R의 경고를 억제할 수 있습니까?이것에 대한 옵션이 있습니까?

사용할 수 있습니다.

options(warn=-1)

그러나 경고 메시지를 전체적으로 해제하는 것은 좋지 않을 수 있습니다.

경고를 다시 설정하려면 사용

options(warn=0)

(또는 기본값이 무엇이든)warn 답변 보기)

너는 원한다options(warn=-1)그러나 참고:warn=0는 가장 안전한 경고 수준이 아니며 특히 스크립트 또는 함수 내에서 현재 수준으로 가정해서는 안 됩니다.따라서 경고를 일시적으로 해제하는 가장 안전한 방법은 다음과 같습니다.

oldw <- getOption("warn")
options(warn = -1)

[your "silenced" code]

options(warn = oldw)

나는 그것을(를)printf전화가 걸려온 전화warning지금 C 코드에 있습니다.이 버전은 내일 밤에 제공될 버전 2.17.2에서 적용됩니다.그러면 경고를 피할 수 있을 것입니다.suppressWarnings()또는 위에서 언급한 다른 방법.

suppressWarnings({ your code })

보다?options및 사용warn:

options( warn = -1 )

다른 답변에서 설명한 것처럼 옵션(예: = -1)을 설정하고 이전 동작으로 되돌리기를 원할 수 있습니다.withr패키지를 사용하면 옵션 값을 설정하고 자동으로 이전 동작으로 되돌릴 수 있습니다.

# install.packages("withr")

withr::with_options(.new = list(warn = -1),
                    {code})

대신에,local_*함수는 포함된 함수가 끝날 때까지 동일한 효과를 가집니다.

function() {
  withr::local_options(.new = list(warn = -1)

  { code }
}

언급URL : https://stackoverflow.com/questions/16194212/how-to-suppress-warnings-globally-in-an-r-script

반응형