簡體   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