반응형
패키지로드시 메시지 비활성화
내 R 환경에로드해야하는 R (ROCR)에 패키지가 있습니다. 패키지를로드하면 메시지 세트가 인쇄됩니다. 이것은 일반적으로 괜찮지 만 내 R 스크립트의 출력이 추가 분석에 사용되고 있기 때문에이 모든 출력을 완전히 비활성화하고 싶습니다. 어떻게하나요? 또한 ROCR을 전혀 수정하지 않고 수행하는 것을 선호하므로이 스크립트의 향후 사용자도 그렇게 할 필요가 없습니다.
지금까지:
sink()
여기서 작동하지 않습니다-stdout과 std err을 모두 리디렉션하여/dev/null
아무것도하지 않습니다.- 당연히
options(warnings=-1)
경고 자체가 인쇄되지 않기 때문에 아무것도하지 않습니다.
이견있는 사람?
통화 suppressMessages()
할 때 사용 하세요 library()
.
edd@max:~$ R
R version 2.14.1 (2011-12-22)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-linux-gnu (64-bit)
[...]
R> suppressMessages(library(ROCR))
R> # silently loaded
R> search()
[1] ".GlobalEnv" "package:ROCR" # it's really there
[3] "package:gplots" "package:KernSmooth"
[5] "package:grid" "package:caTools"
[7] "package:bitops" "package:gdata"
[9] "package:gtools" "package:stats"
[11] "package:graphics" "package:grDevices"
[13] "package:utils" "package:datasets"
[15] "package:methods" "Autoloads"
[17] "package:base"
R>
Dirk의 대답 은 모든 메시지를 억제하며 패키지를로드하는 동안 생성되는 메시지에만 국한되지 않습니다.
질문에 대한 더 정확한 해결책은 다음과 같습니다.
suppressPackageStartupMessages(library(THE_PACKAGE_NAME))
library(ROCR, quietly = TRUE)
더 우아한 옵션이 될 수 있습니다.
quietly = T
아래와 같이 추가 하면 문제가 해결됩니다.
suppressWarnings(suppressMessages(library("dplyr", quietly = T)))
여러 패키지의 경우 다음을 사용할 수 있습니다.
## specify the package names
PKGs <- c("affy","gcrma","readxl","ggplot2","lattice" )
다음과 같이 lapply를 사용합니다.
lapply(PKGs, library, character.only = TRUE ,quietly = T)
참고 URL : https://stackoverflow.com/questions/8681688/disable-messages-upon-loading-a-package
반응형
'Development Tip' 카테고리의 다른 글
LINQ는 IEnumerable에서 작동합니까? (0) | 2020.10.07 |
---|---|
FileStream 대 / 차이점 StreamWriter? (0) | 2020.10.07 |
누락 된 SDK 플랫폼 Android, API 18 (0) | 2020.10.07 |
Docker 머신에 로컬 볼륨을 마운트하는 방법 (0) | 2020.10.07 |
함수에서`…`(3 점 또는 점-점-점) 사용 (0) | 2020.10.07 |