Удаление сообщения о загрузке пакета в R - PullRequest
0 голосов
/ 15 февраля 2020

Я использую следующие пакеты в своем R-скрипте:

library(uba)
library(performanceEstimation)
library(UBL)
library(DMwR)

Эти пакеты всегда выдают сообщение: 'loading package xyz'. Если я не подавляю сообщения «загрузка пакета», как я делаю ниже:

suppressPackageStartupMessages(library(operators))
suppressPackageStartupMessages(library(class))
suppressPackageStartupMessages(library(fields))
suppressPackageStartupMessages(library(spam))
suppressPackageStartupMessages(library(dotCall64))
suppressPackageStartupMessages(library(grid))
suppressPackageStartupMessages(library(DMwR))
suppressPackageStartupMessages(library(uba))
suppressPackageStartupMessages(library(UBL))
suppressPackageStartupMessages(library(MBA))
suppressPackageStartupMessages(library(gstat))
suppressPackageStartupMessages(library(automap))
suppressPackageStartupMessages(library(sp))
suppressPackageStartupMessages(library(randomForest))

library(uba)  # util used below
library(performanceEstimation)
library(UBL)
library(DMwR)

, я получаю следующие сообщения в моей консоли :

Loading required package: operators

Attaching package: 'operators'

The following objects are masked from 'package:base':

    options, strrep

Loading required package: class
Loading required package: fields
Loading required package: spam
Loading required package: dotCall64
Loading required package: grid
Spam version 2.5-1 (2019-12-12) is loaded.
Type 'help( Spam)' or 'demo( spam)' for a short introduction 
and overview of this package.
Help for individual functions is also obtained by adding the
suffix '.spam' to the function name, e.g. 'help( chol.spam)'.

Attaching package: 'spam'

The following objects are masked from 'package:base':

    backsolve, forwardsolve

Loading required package: maps
See https://github.com/NCAR/Fields for
 an extensive vignette, other supplements and source code 
Loading required package: ROCR
Loading required package: gplots

Attaching package: 'gplots'

The following object is masked from 'package:stats':

    lowess

Loading required package: DMwR
Loading required package: lattice
Registered S3 method overwritten by 'quantmod':
  method            from
  as.zoo.data.frame zoo 

Attaching package: 'DMwR'

The following object is masked from 'package:fields':

    unscale


Attaching package: 'uba'

The following object is masked from 'package:base':

    subset

Loading required package: MBA
Loading required package: gstat
Loading required package: automap
Loading required package: sp
Loading required package: randomForest
randomForest 4.6-14
Type rfNews() to see new features/changes/bug fixes.

Attaching package: 'UBL'

The following objects are masked from 'package:uba':

    phi, phi.control

Есть ли способ подавления сообщений любым другим способом? Я мог бы использовать эти пакеты во многих других R-скриптах, и я не хочу делать это каждый раз.

1 Ответ

1 голос
/ 16 февраля 2020

Один из способов - написать простую функцию, которая принимает вектор пакетов и подавляет вывод по своему усмотрению, как показано ниже.

library_suppress <- function(packages, character.only = TRUE, ...){
    for(i in seq_along(packages))
        suppressPackageStartupMessages(
            library(packages[i], character.only = character.only, ...)
        )
}
packages <- c('operators', 'class', 'fields', 'spam', 'dotCall64', 'grid', 'MBA', 'gstat', 'automap', 'sp', 'randomForest')
library_suppress(packages)

Обратите внимание, что это не подавляет предупреждающие сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...