编写 R
程序的一些好的实践方法是什么?
由于 R
是一种我不经常使用的特定目的语言,我通常只是匆忙地拼凑一些快速脚本来完成我的需求。
但是,有哪些编写干净高效的 R
代码的技巧呢?
编写 R
程序的一些好的实践方法是什么?
由于 R
是一种我不经常使用的特定目的语言,我通常只是匆忙地拼凑一些快速脚本来完成我的需求。
但是,有哪些编写干净高效的 R
代码的技巧呢?
您已经通过表述您的方法是“快速脚本解决方案”向我们提供了一些提示。如果您想要最佳实践和结构,请简单地按照CRAN的既定最佳实践:
R CMD check
的大门,这非常有用。\examples{}
部分中添加代码,因为这将在R CMD check
期间运行,并为回归测试提供了一个简单的入口。我推荐使用Josh Reich的"Load, Clean, Func, Do"工作流程,可以从这个之前的问题中了解更多。
此外,我建议遵循编码指南,比如Google的R风格指南。使用编码风格指南可以使以后阅读代码变得更加容易。
我完全同意现有答案的观点,尤其是在包的使用方面。包需要很高的纪律性、文档和结构化,这些都能帮助强制执行最佳实践(还有 R CMD CHECK)。您还可以使用codetools 包来帮助解决这个问题。使用 roxygen 包进行文档编写。
除此之外,我建议您不仅向量化代码,更要尤其注意向量化您的函数。这意味着您应该能够提供向量参数并获得向量返回(即使从数据库调用等情况中也是如此)。长期来看,这将真正提高您的代码效率和清晰度。
最后,我真的喜欢使用类似 Sweave 的东西,以清晰的可重复研究方式组织我的代码,每当写报告时。同时我也推荐使用 cache 包。
为了提高效率,应优先使用向量运算而非for循环。