美文网首页Cook R计算机@linux_python_R 技术帖
【r<-开发】包加载时输出信息

【r<-开发】包加载时输出信息

作者: 王诗翔 | 来源:发表于2018-12-25 23:45 被阅读11次

    主要用到两个重要函数,一个是.onLoad(),一个是.onAttach()。两者尽量选择前者。

    .onAttach()一般用于在包启动时加载有用信息或建议。

    .onAttach <- function(libname, pkgname) {
      packageStartupMessage("Welcome to my package")
    }
    

    这样用户可以通过suppressPackageStartupMessages()函数在不想显示该信息时抑制该信息。

    如果想要设定自定义的选项,提取加载一些操作,使用.onLoad()

    devtools设定的有用选项:

    .onLoad <- function(libname, pkgname) {
    # libname 包所在库路径
    # pkgname 包名
      op <- options()
      op.devtools <- list(
        devtools.path = "~/R-dev",
        devtools.install.args = "",
        devtools.name = "Your name goes here",
        devtools.desc.author = "First Last <first.last@example.com> [aut, cre]",
        devtools.desc.license = "What license is it under?",
        devtools.desc.suggests = NULL,
        devtools.desc = list()
      )
      toset <- !(names(op.devtools) %in% names(op))
      if(any(toset)) options(op.devtools[toset])
    
      invisible()
    }
    

    这样,通过类似getOption("devtools.name")就能获取包作者及其他设定信息,避免与R全局选项冲突。

    连接其他语言:

    Java - rJava::.jpackage()
    Rcpp - Rcpp::loadRcppModules()

    .onUnload()函数用来清除任何副作用。

    相关文章

      网友评论

        本文标题:【r<-开发】包加载时输出信息

        本文链接:https://www.haomeiwen.com/subject/zoqclqtx.html