Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用RStudio在R中创建包_R_Package_Rstudio - Fatal编程技术网

使用RStudio在R中创建包

使用RStudio在R中创建包,r,package,rstudio,R,Package,Rstudio,我已经创建了一系列文件: 初始r 授权人 r类 模块/状态.r 模块/管理r 模块/core.r 模块/mcf.r init.r文件的源是: # initiation of package # include libraries library(RCurl); library(rjson); # include files source('auth.r'); source('class.r'); # extend class source('modules/status.r'); so

我已经创建了一系列文件:

  • 初始r
  • 授权人
  • r类
  • 模块/状态.r
  • 模块/管理r
  • 模块/core.r
  • 模块/mcf.r
init.r文件的源是:

# initiation of package

# include libraries
library(RCurl);
library(rjson);

# include files
source('auth.r');
source('class.r');

# extend class
source('modules/status.r');
source('modules/mgmt.r');
source('modules/core.r');
source('modules/mcf.r');

我如何从中创建一个包?显然需要首先启动init.r文件。

有关制作包的过程,请参见
编写r扩展名。您可能需要使用
package.skeleton
开始

但本质上,

  • 去掉你的
    init.r
    文件
  • 将所有其他
    .R
    文件放在
    R
    目录中
  • 在描述文件中写入
    取决于:RCurl、rjson

从本视频中的以下步骤开始:


然后阅读有关该功能的更多信息,以及。

1。构建先决条件: 要使用RStudio构建R包,您应该具备以下先决条件,如 R RStudio, Rtools, 基本MikTex, roxygen2和devtools软件包

2。在RStudio中创建RPackage项目,并将所有R文件(init.R、auth.R、class.R、modules/status.R、modules/mgmt.R、modules/core.R、modules/mcf.R)添加到项目的R文件夹下

3。通过编辑包装说明文件添加文档。构建项目,现在您的包就可以使用了

构建一个简单的包不会超过15分钟。 如果你希望有一步一步的解释来创建一个简单的软件包,请访问这个博客。

我认为,通过学习如何手工构建软件包,然后找出如何使用RStudio来帮助构建过程,您将受益匪浅。当然,RStudio的好处是它免除了这种义务?谢谢,我已经阅读了大部分材料,但是我发现它很难学习。我已经完成了您所说的所有内容(主要是以下内容),但问题是,class.r文件包含一个setRefClass,后续文件(之前在modules文件夹中的所有文件)需要这个类。我应该在这些文件的顶部写require('class.r')吗换言之:我如何定义这些文件的加载顺序?如果其他一切都失败了,您可以像所有人一样(现在仍然如此)阅读精美的手册。和/或查看现有包。CRAN有几个…
require
是关于加载一个包的。我不知道您的代码是如何工作的,但您不需要特定的订单。本质上,在.R文件中应该是类声明(
setRefClass
,…)和函数。因此,当您使用函数时,类已经创建好了…@Rimbaud:如果您使用的是roxygen2,那么
#'@include class.r
确保
class.r
以排序顺序排在该文件之前。感谢大家的帮助,我已经成功了@DirkEddelbuettel我不知道你想用这个评论归档什么。包含链接包的基础知识(也是免费的)。