抑制包加载消息

时间:2017-02-16 21:31:34

标签: r

我已经用Google搜索了,我看到如果我使用suppressPackageStartupMessages()我应该能够解决我的问题,但事实证明,没有任何事情发生。

我正在加载我的包裹:

if (!require("gplots", quietly = T)) {
    sink("/dev/null")
    suppressPackageStartupMessages(suppressWarnings(suppressMessages(install.packages("gplots"))))
    suppressPackageStartupMessages(suppressWarnings(suppressMessages(library("gplots", quietly = T))))
}

当我的脚本运行时,我收到以下消息:

Attaching package: ‘gplots’

The following object is masked from ‘package:IRanges’:

    space

The following object is masked from ‘package:S4Vectors’:

    space

The following object is masked from ‘package:stats’:

    lowess

在另一个包裹上,

if (!require("Rmixmod", quietly = T)){
    sink("/dev/null")
    suppressPackageStartupMessages(suppressWarnings(suppressMessages(install.packages("R_packages/Rmixmod_2.0.1.tar.gz", type="source"))))
}

我在加载时也得到了引用选项,我也试图让它沉默。

Rmixmod version 2.0.1 loaded
R package of mixmodLib version 3.0.1

Condition of use
----------------
Copyright (C)  MIXMOD Team - 2001-2013

MIXMOD is publicly available under the GPL license (see www.gnu.org/copyleft/gpl.html)
You can redistribute it and/or modify it under the terms of the GPL-3 license.
Please understand that there may still be bugs and errors. Use it at your own risk.
We take no responsibility for any errors or omissions in this package or for any misfortune that may befall you or others as a result of its use.

Please report bugs at: http://www.mixmod.org/article.php3?id_article=23

More information on : www.mixmod.org

Package 'mclust' version 5.2.1
Type 'citation("mclust")' for citing this R package in publications.

如何做到这一点?

1 个答案:

答案 0 :(得分:3)

不确定是否有人仍在寻找这个问题的答案,但

suppressWarnings(suppressMessages(library("dplyr")))

在Jupyter笔记本上完美地 。我通常会定义一个这样的函数:

import_library = function(lib_name){
    suppressWarnings(suppressMessages(require(lib_name, character.only = TRUE)))
}
import_library('dplyr')

请注意,在用户定义的函数中,library(...)将不起作用,因此请使用require(...)character.only = TRUE也是必要的,以避免R尝试加载lib_name作为库的名称,而不是实际的库(在我们的例子中dplyr)。

可以找到类似的答案here