如何在R中載入包時停止列印訊息?
在R中載入包時,我們會收到一些煩人的訊息,除非我們正在載入一個新的包,否則這些訊息並沒有用處。由於這些訊息看起來像是輸出,因此可能會造成混淆,尤其是在我們分析字串資料時。因此,我們必須去除它們。
載入 BSDA 包時訊息的示例:
> library(BSDA)
載入所需包 - lattic
附加包 - ‘BSDA’
以下物件被遮蔽來自 ‘package:datasets’ -
Orange
在載入 BSDA 包時,我們收到了一些訊息,但如果我們確定該包已安裝在R中並且我們正在正確載入它,那麼我們可能對這些訊息不感興趣。此外,如果一個包經常使用,那麼這些訊息會很煩人,我們希望去除它們。所以,有一個簡單的解決方案,我們可以在載入包時使用 suppressPackageStartupMessages。
示例
> suppressPackageStartupMessages(library(BSDA))
當我們使用 suppressPackageStartupMessages 函式時,它會停用載入包時收到的所有訊息(如果該包已安裝在R中),但它不會對錯誤或警告產生影響。
示例
> suppressPackageStartupMessages(library(ROCR)) Error in library(ROCR) : there is no package called ‘ROCR’
由於我的R版本中沒有安裝 ROCR 包,因此 suppressPackageStartupMessages 函式會丟擲一個錯誤。
> suppressPackageStartupMessages(library(data.table)) Warning message: package ‘data.table’ was built under R version 3.6.2
現在,我確實安裝了 data.table 包,但它是在 3.6.2 版本下構建的,因此它顯示了一個警告訊息,因為我用於此的R版本是 3.6.1。
讓我們再看一個例子。假設我們想要載入 gdata 包,它會附帶許多訊息,如下所示:
> library(gdata) gdata: Unable to locate valid perl interpreter gdata: gdata: read.xls() will be unable to read Excel XLS and XLSX files gdata: unless the 'perl=' argument is used to specify the location of a gdata: valid perl intrpreter. gdata: gdata: (To avoid display of this message in the future, please ensure gdata: perl is installed and available on the executable search path.) gdata: Unable to load perl libaries needed by read.xls() gdata: to support 'XLX' (Excel 97-2004) files. gdata: Unable to load perl libaries needed by read.xls() gdata: to support 'XLSX' (Excel 2007+) files. gdata: Run the function 'installXLSXsupport()' gdata: to automatically download and install the perl gdata: libaries needed to support Excel XLS and XLSX formats. Attaching package: ‘gdata’
以下物件被遮蔽來自 ‘package:purrr’ -
keep
以下物件被遮蔽來自 ‘package:data.table’ -
first, last
以下物件被遮蔽來自 ‘package:stats’ -
nobs
以下物件被遮蔽來自 ‘package:utils’ -
object.size
以下物件被遮蔽來自 ‘package:base’ -
startsWith
現在我們可以很容易地忽略這些訊息,如下所示:
> suppressPackageStartupMessages(library(gdata))
但是,如果我們安裝了一個新包,那麼我們一定不能忽略這些訊息,因為它們可能對我們有用,因為我們對該包還很陌生。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP