我必须使用RStudio创建一个包含函数的非常简单的R包。 我想把它交给一些学生。
当我的包被加载时,我想它会自动启动我的功能,而不需要用户输入它的名字。 (该功能等待用户输入或可以打开一个简单的GUI)
我怎样才能得到它?
PD:我无法修改其他人的.Rprofile,这就是为什么我需要一个方法来加载包时自动加载函数。
答案 0 :(得分:4)
如果你想在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
}