При создании пакета R как включить предупреждения, которые отображаются при установке? Есть ли удобная метка roxygen2? - PullRequest
1 голос
/ 25 февраля 2020

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

1 Ответ

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

Насколько я знаю, такого тега для package:roxygen2 нет.

Но вы можете редактировать функции напрямую. Вот что делает RPushBullet (в контексте анализа файла конфигурации).

.onLoad <- function(libname, pkgname) {
    dotfile <- .getDotfile()                                    
    if (file.exists(dotfile)) .parseResourceFile(dotfile)       
}

.onAttach <- function(libname, pkgname) {
    packageStartupMessage("Attaching RPushbullet version ",
                          packageDescription("RPushbullet")$Version, ".")
    dotfile <- .getDotfile()
    if (file.exists(dotfile)) {
        packageStartupMessage("Reading ", dotfile)
        .parseResourceFile(dotfile)
    } else {
        txt <- paste("No file", dotfile, "found. Consider placing the",
                     "Pushbullet API key and your device id(s) there.")
        txt <- paste(strwrap(txt), collapse="\n")
        packageStartupMessage(txt)
        .pkgenv[["pb"]] <- NULL                     
    }
}

Так что .onLoad() на самом деле не разрешено печатать сообщения, но .onAttach(). Так как более вежливо отображать их в виде , который также может быть подавлен , не следует использовать cat() или warning() напрямую, но packageStartupMessage().

Они обычно помещаются в файл R/init.R или R/zzz.R.

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