2015-03-31 81 views
0

我想弄清楚如何使用RStudio(和Windoze)的R开发过程,以防万一我想要自定义现有的包供个人使用。所以我们假设在我的函数z中(在〜/ myRFile.R文件中)使用了函数y,它包含了X包(我使用packages/install安装了cran/rforge)。安装R包开发(流程和构建链)

所以,我会做如下:

  1. 删除已安装的软件包(使用remove.packages(X))
  2. 获取从rforge/github上等等源并将其保存在〜/downloadedPackage。
  3. 现在我开始努力接下来要做的事情。什么是将现有文件(〜/ myRFile.R)链接到〜/ downloadedPackage源文件的最佳方式?我知道我大概可以弄清楚在哪个R文件函数中,并使用source(“〜/ downloadedPackage/theFileWithFunctionY.R”)加载它,但我无法想象这是正确的方式,还是它?我会想象有一种方法一次“加载”/“源代码”的所有代码?我也试过只是使用

    install.packages( “〜\ downloadedPackage”)

    库(downloadedPackage)

但这只是给了我“安装包...警告包不可用(作为R的二进制包)“。此外,我认为每次在开发过程中进行小的更改都会导致次优安装(例如,我猜想在安装代码后调试代码会更困难)。

所以我并不真正需要的一步就如何构建一个软件包一步的指示,而是在如何以最佳的工艺和工具链设置为

  1. 大局修改
  2. 测试
  3. 重装

一个现有研发包。

btw:如果通过引用另一组buildtools(javac,ant,maven,gradle等)更容易解释它,我最熟悉Java buildtools/process。

+1

你可以使用'install安装一个R包来源](http://stackoverflow.com/questions/1474081/how-do-i-install-an-r-package-from-source) .packages(path_to_file,repos = NULL,type =“source”)'。但是,更好的工作流程往往是通过RStudio进行安装。尝试在RStudio中执行File-> New Project,并将该目录作为R项目打开。点击“Build and Reload”(Build选项卡下)将重新安装该软件包。 – 2015-03-31 14:49:07

+0

不错。使用type =“source”安装了软件包......我将不得不检查您关于“Build and Reload”的建议。然而,仍然想知道:有没有一种方法来“使用”包而不安装它(我知道这听起来很愚蠢)。 – 2015-03-31 15:05:27

+0

当然,你可以使用[devtools](https://github.com/hadley/devtools)中的'load_all'来做到这一点。请参阅下面的答案。 – 2015-03-31 16:13:29

回答

1

三种解决方案:

  1. 您可以用install an R package from source

    install.packages(path_to_file, repos = NULL, type="source") 
    
  2. 您可以通过RStudio安装。在RStudio中执行File-> New Project,并将该目录作为R项目打开。单击“Build and Reload”(Build(生成和重新加载))(将在Build选项卡下)将重新安装该程序包(有关更多信息,请参见here)。在RStudio中打开它使“make changes/reinstall”循环非常简单。

  3. 如果要加载包而不安装它,您可以安装devtools package,并使用load_all

    devtools::load_all("~/downloadedPackage") 
    

    这有发生的事情有点比重新安装速度的好处。

+0

真棒。非常感谢。 – 2015-03-31 16:18:17