unit-testing - 专业的 R 开发人员应该拥有哪些核心包,为什么?

标签 unit-testing debugging r development-environment

有哪些具体实用程序可以帮助 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/

相关文章:

使用 Eclipse : "Profiling and debugging agents are not supported in this VM" 进行 Java Linux Arm 远程调试

node.js - Node 调试和 Node 检查器有什么区别?

c++ - 什么是 VS 2010 用于创建 C++ 程序的良好替代品?

python - 如何有效地将 python pandas 数据框保存在 hdf5 中并在 R 中将其作为数据框打开?

r - 为出现多次的观测值分配一个主 ID

r - 在 R 中,为什么 %% 对小数的表现不同?

unit-testing - Grails渲染模板单元测试问题

c# - 如何最小化 Entity Framework SaveChangesAsync?

java - 如何使用 PowerMock 模拟 ServletFileUpload 的创建?

unit-testing - 有什么方法可以评估 Drools 规则引擎中 drl 文件的测试覆盖率吗?