繁体   English   中英

加载R包时自动运行函数

[英]Automatically run a function when loading a R package

我必须使用RStudio创建一个包含函数的非常简单的R包。 我想把它交给一些学生。

当我的包被加载时,我希望它自动启动我的功能,而无需用户输入其名称。 (该功能等待用户输入或可以打开一个简单的GUI)

我怎么才能得到它?

PD:我无法修改其他人的.Rprofile,这就是为什么我需要一个方法来加载包时自动加载函数。

如果您想在R启动时运行某些内容:

启动RStudio,并运行以下命令在主目录中创建.Rprofile文件:

file.edit("~/.Rprofile")

将以下函数放在该文件中:

.First <- function(){
  cat("Hello!") # startup message

  require(data.table)   
  # or whatever packages you want to load 

  # or if you want to run a function in a file
if(file.exists("~/myfile.r")){
        source("~/myfile.r")
        myfunc()
    }

}

保存。 完成!

至于OP的编辑

如果您想在加载包时运行某些东西,可以使用.onLoad.onAttach函数。 例如:

.onAttach <- function(libname, pkgname) {
  # to show a startup message
  packageStartupMessage("This is my package, enjoy it!")
}

.onLoad <- function(libname, pkgname) {
      # something to run
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM