包装是一系列功能,以凝聚力方式在一起实现目标。它(应该)包括通过人员页面和小插图的详细文档,并且(应该)进行准确性和效率测试。
写r扩展是写入包的一个非常详细的手册以及包的结构需要什么。
devtools.
创建一个包这devtools.
包提供了许多选项和实用程序,以帮助构建一个新包。您可以获得所有可用DevTools功能的列表LS(“包:devtools”)
。
使用devtools来构建包的一些有用的引用是rstudio devtools cheetsheet.和詹妮弗布莱恩班
库(DevTools)创建(“myfirstpackage”)
创建将实例化R为有效包所需的所有必要文件和子目录:描述,命名空间和R目录。您必须编辑描述以将相关信息插入到您的包中。
运行创建后,包具有有效的包结构,可以安装和加载:安装(“myfirstpackage”)
那图书馆(“myfirstpackage”)
那库(帮助=“myfirstpackage”)
。
在创建包时,它是一个很好的想法,它是创建包,尤其是在项目上协作时,允许多个用户进行更改。它允许在必要时常常可以高级或恢复的更改记录。
只有一个项目可以是版本控制的,要在Rstudio中制作一个项目的项目转到:文件 - >新项目
。在这种情况下,我们开始创建目录,以便我们按照所选提示进行操作使用现有目录
。现在它是一个我们可以去的项目工具 - >版本控制 - >项目设置
改变版本控制系统
至Git.
并按照提示。在Rstudio窗格中通知环境/历史记录/构建有一个新的标签Git。现在可以开始使用Git.
制作提交版本控制。要进行提交,可以转到GIT选项卡,选中要修改,添加或删除要跟踪的任何文件旁边的复选框,然后选择犯罪
。在弹出并选择的窗口中输入新的提交消息犯罪
。
我们在这里停下来,但我们也希望将包装放在github上。(这假设您有一个github帐户)。首先,在Rstudio去工具 - >全球选项
并选择git / svn。确保路径正确。如果您没有将Rstudio项目联系到GitHub,请选择创建RSA键
。关闭窗口。点击查看公钥
并复制显示的公钥。现在在Web浏览器中,打开GitHub帐户。去设置
和SSH和GPG键
。单击选项新的SSH钥匙
并粘贴复制的公钥。此外,在GitHub上,创建一个具有与您在RSTUDIO中创建的名称相同的新存储库创造()
。回到rstudio,选择工具 - > shell
并键入以下子位点您的github user.name和包名称。
git远程添加原点https://github.com/< github user.name> / .git git config emote.origin.url git@github.com: / <包repo name> .git git pull -u Origin Master Git Push -U Origin Master
例如,我的github上的包存储库是“myfirstpackage”,我的git hub user.name是lshep:
https://github.com/lshep/myfirstpackage.git git@github.com:lshep / myfirstpackage.git
现在,如果您在Git的Rstudio选项卡中查看,则可以使用推送和拉动选项。您现在可以从包中推动和拉动包装的本地版本和包的Github存储库版本。
devtools.
构建,检查和安装包中内置函数的普通派生。我们使用的包装创造
有一个有效的包结构,但如果我们这样做查看
我们会发现描述需要更新。更新描述文件,适合您的包;在整个软件包的开发过程中,您可能必须更新申请技术的描述依赖性,导入和建议字段。
现在我们想开始编写R功能。在rstudio中,您可以打开一个空文件文件 - >新文件
并选择r script.
。将文件保存在R目录中。写下您的函数和文档。您可以手动函数或使用Roxygen您可以使用DevTools功能文档()
。看看写r扩展有关手动创建RD文件(位于Man目录中),但Roxygen正在增长流行。可以找到Roxygen标签的一些有用的链接rstudio devtools cheetsheet.和Roxygen帮助。
创建功能时有些有用的devtools命令:
load_all()
在环境中加载所有包功能以进行测试查看()
检查包(R CMD检查)文档()
生成或更新Andy文档文件并使用RStudio选项构建 - >构建和重新加载
和构建 - >清洁和重建
。
还建议您为您的包装有一个手册页。devtools为此提供框架,并创建需要通过调用修改的文件use_package_doc()
。
如果您在代码中导入任何函数,请不要忘记更新依赖,导入或建议的描述文件。
强烈建议为您的包添加单元测试。单元测试确保包装正常工作。测试的两种主要方法是使用运行
或者testthat.
。testthat功能包含在devtools中。使用USE_TESTTHAT()
将设置所需的目录结构并将包建议添加到描述中。以下是Testthat测试结构的一些示例:预期_identical.
那Heake_true.
那expect_error.
。还有其他选项也讨论Testthat Wickham.和testthat.。
Vignettes是包装的另一个主要文档片段,以及越来越多的存储库系统(Cran,Biocumond,Ropensci)并使Vignettes成为标准要求。它们是一个更多的深度描述和包装的例子。devtools还提供了功能use_vignette()
设置目录结构和初始文件以创建Vignette。对于Biocuconductor提交,我们建议改变输出:
Vignette标头的部分以下(这将需要在说明书中添加生物焦于建议字段):
输出:Biocstyle :: html_document:toc:true toc_depth:2
或者,如果您的系统上已安装生物,您也可以使用Rstudio:新文件 - > RAMARMDOWS - >来自模板 - > Biocumon HTML / PDF Vignette
可以在此处找到一个有用的Rarmardown链接,通常用于Vignette创建的Creation:RAMAMMOD CHEET表格
干净的构建和检查和Bioccheck不是验收的保证。它将通过正式的观点。