【问题标题】:How to load all my functions in my project automatically in R如何在 R 中自动加载我的项目中的所有函数
【发布时间】:2018-03-20 08:13:39
【问题描述】:

我正在编写超过 6 个函数并将它们保存在我的 R.project 中。每次,要开始使用我的项目,我都需要一个一个地手动运行每个函数。有没有办法自动加载所有这些功能?

【问题讨论】:

  • 创建一个包然后你只需要加载这个包
  • @akrun 我可以将我的项目自动扩展为一个包吗?
  • 非常感谢@akrun 的评论。

标签: r


【解决方案1】:

你有两个选择:

  1. 创建您自己的包并在启动时加载它,您将拥有所有可用的功能。 A tutorial

  2. 自定义 R 启动会自动加载包含函数的 R 文件。 A tutorial 和 an example

【讨论】:

  • 非常感谢您的大力帮助。
【解决方案2】:

我们可以在R创建一个包

  1. 打包函数并创建包-yourpackage然后加载包

    library(yourpackage)
    
  2. 一个例子是here

  3. 另一个资源是here

  4. 还有一个是here

【讨论】:

    【解决方案3】:

    如果您不希望采用打包方法(我同意这是最好的方法),您可以在 R 脚本中将所有函数堆叠在一起,并在启动时获取它。一步而不是 6. 结束 .GlobalEnv 中的所有函数

    将其放入 R 脚本中:

    ###Put in a script
    eeee <- function(){
      cat("yay I'm a function")
    }
    
    
    ffff <- function(){
      cat("Aaaaaah a talking function")
    }
    

    如果你使用 RStudio,代码如下。否则更改源位置。在控制台(或脚本)中执行此操作:

    ###Do this
    source('~/.active-rstudio-document')
    

    那么你可以这样做:

    eeee()
    yay I'm a function
    
    ffff()
    Aaaaaah a talking function
    

    【讨论】:

      【解决方案4】:

      您可以在开始工作之前运行以下脚本:

      source_code_dir <- "./R/"  #The directory where all source code files are saved.
      file_path_vec <- list.files(source_code_dir, full.names = T)
      for(f_path in file_path_vec){source(f_path)}
      

      【讨论】:

        猜你喜欢
        • 2019-06-28
        • 2019-01-13
        • 1970-01-01
        • 2012-05-05
        • 1970-01-01
        • 2014-03-21
        • 1970-01-01
        • 2020-03-18
        • 2017-10-28
        相关资源
        最近更新 更多