如何在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