Подавить загрузку сообщений при непосредственном вызове функции (не загружать пакет полностью) - PullRequest
0 голосов
/ 26 ноября 2018

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

Например, вызов raster работает следующим образом:

f <- system.file("external/test.grd", package="raster")
r <- raster::raster(f)
p <- raster::rasterToPolygons(r, dissolve = TRUE)

Результат в сообщении:

Loading required namespace: rgeos

Как я могу предотвратить появление этого сообщения?Единственное решение, которое я нашел, - это загрузить rgeos следующим образом:

suppressPackageStartupMessages(library(rgeos))

Но так как я использую функцию raster::rasterToPolygons из пакета, я не хочу загружать rgeos в полном объеме.

1 Ответ

0 голосов
/ 27 ноября 2018

Думаю, я пробовал это раньше, но, видимо, нет.Обе эти опции работают:

p <- suppressMessages(raster::rasterToPolygons(r, dissolve = TRUE))
p <- suppressPackageStartupMessages(raster::rasterToPolygons(r, dissolve = TRUE))

Я вызываю функцию явно, используя :: (по совету Хэдли здесь ), но вы также можете избежать загрузки сообщения rgeos, импортировавэто в NAMESPACE вашего пакета.При использовании roxygen2 это означает добавление @import rgeos в качестве комментария roxygen2 в верхней части вашей функции.Я думаю, @importFrom rgeos fun тоже будет работать, но я не знаю, какие rgeos функции используются raster::rasterToPolygons.

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