有哪些具体实用程序可以帮助 R 开发人员更有效地编码和调试?
我正在寻求建立一个 R 开发环境,并希望了解一些工具的概述,这些工具对我构建单元测试基础设施(包括代码覆盖、调试、生成包文件和帮助文件)以及可能有用UML 建模。
注意:请根据您使用推荐工具的经验,用理由和示例来证明您的答案。 不要只是链接。
相关
最佳答案
我编写了太多的包,因此为了保持事情的可管理性,我在基础设施包上投入了大量时间:这些包帮助我使我的代码更加健壮,并帮助其他人更容易使用。其中包括:
roxygen2
(与 Manuel Eugster 和 Peter Danenberg 合作),它允许您将文档保留在它所记录的函数旁边,这使得我更有可能保留它迄今为止。roxygen2
还具有许多旨在最大限度地减少文档重复的新功能:模板 (@template
)、参数继承 (@inheritParams
) 和函数仅举几例,家庭 (@family
)。testthat
自动测试我的代码。随着我编写代码的时间越来越少,这一点变得越来越重要:自动化测试会记住函数应该如何工作,即使我不记得。
<devtools
自动执行许多常见的开发任务(正如 Andrie 提到的)。devtools
的最终目标是让它像R CMD check
一样在后台持续运行,并通知您出现问题的实例。profr
,特别是未发布的 interactive explorer ,让我可以轻松找到代码中的瓶颈。helpr
(与 Barret Schloerke),很快将支持 http://had.co.nz/ggplot2 ,为 R 文档提供了一个优雅的 html 界面。
有用的 R 函数:
apropos
:我总是忘记有用函数的名称,apropos
可以帮助我找到它们,即使我只记得一个片段
R 之外:
我使用 textmate 来编辑 R(和其他)文件,但我认为这并不是那么重要。选择一个并了解它的所有角落和缝隙。
花一些时间学习命令行。从长远来看,您可以采取的任何措施来自动化工作流程的任何部分都会得到返回。从命令行运行 R 会导致一个自然的过程,其中每个项目都有自己的 R 实例;我经常同时运行 2-5 个 R 实例。
使用版本控制。我喜欢 git 和 github 。再说一遍,您使用哪个系统并不重要,重要的是掌握它!
我希望 R 拥有的东西:
- 代码覆盖率工具
- 像 rake 或 jake 这样的依赖管理框架
- 更好的内存分析工具
- 用于描述数据框架(和其他数据源)的元数据标准
- 用于以各种输出格式描述和呈现表格的更好工具
- 用于 Markdown 渲染的包
关于unit-testing - 专业的 R 开发人员应该拥有哪些核心包,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796490/