Saya memiliki paket dalam R (ROCR) yang perlu saya muat di lingkungan R. Setelah memuat paket, satu set pesan akan dicetak. Ini biasanya baik-baik saja, tetapi karena output dari skrip R saya digunakan untuk analisis lebih lanjut, saya ingin menonaktifkan semua output ini sepenuhnya. Bagaimana aku melakukan itu? Selain itu, saya lebih suka melakukannya tanpa harus memodifikasi ROCR sama sekali, sehingga pengguna skrip ini di masa mendatang juga tidak perlu melakukan itu.
Sejauh ini:
sink()
tidak berfungsi di sini - mengalihkan baik stdout dan std err untuk/dev/null
tidak melakukan apa pun bagi saya.- Tidak mengherankan,
options(warnings=-1)
juga tidak melakukan apa-apa, karena ini bukan peringatan, yang sedang dicetak.
Ada pemikiran?
r
message
libraries
suppress-warnings
pelajar
sumber
sumber
Loading required package: gplots Loading required package: gtools Loading required package: gdata
- Perhatikan bahwa saya tidak dapat memformat pesan dengan benar.gplots
,,gtools
dangdata
sebelum memuatROCR
.Jawaban:
Cukup gunakan di
suppressMessages()
sekitarlibrary()
panggilan Anda :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>
sumber
suppressPackageStartupMessages
?suppressPackageStartupMessages
hanya menekan pesan startup di mana sebagai pilihan sayasuppressMessages()
menyembunyikan setiap dan semua pesan (tapi tidakcat()
seingat saya). Tapi seseorang tidak seharusnya menggunakannya dalam teks startup.Jawaban Dirk menyembunyikan semua pesan dan tidak spesifik untuk pesan yang dibuat saat memuat paket.
Solusi yang lebih akurat untuk pertanyaan yang diajukan adalah:
suppressPackageStartupMessages(library(THE_PACKAGE_NAME))
Penjelasan yang lebih detail dapat ditemukan di sini
sumber
Gunakan suppressPackageStartupMessages, lihat jawaban dari @MehradMahmoudian. Untuk kelengkapan, menambahkan contoh penggunaan:
Untuk satu pustaka, gunakan
suppressPackageStartupMessages(...)
, misalnya:suppressPackageStartupMessages(library(ggplot2))
Untuk beberapa pustaka, gunakan
suppressPackageStartupMessages({...})
, misalnya:suppressPackageStartupMessages({ library(ggplot2) library(ggdendro) })
sumber
library(ROCR, quietly = TRUE)
mungkin pilihan yang lebih elegan.sumber
library(data.table, quietly = TRUE)
Dengan menambahkan
quietly = T
seperti yang ditunjukkan di bawah ini akan menyelesaikan masalah:suppressWarnings(suppressMessages(library("dplyr", quietly = T)))
Jika ada banyak paket, Anda dapat menggunakan:
## specify the package names PKGs <- c("affy","gcrma","readxl","ggplot2","lattice" )
dan mereka menggunakan lapply seperti di bawah ini:
lapply(PKGs, library, character.only = TRUE ,quietly = T)
sumber