R
中的编程有哪些好的做法?
由于R
是一种我不会一直使用的特殊用途语言,因此我通常会将一些快速脚本放在一起,这些脚本可以满足我的需求。
但是,编写干净,高效的R
代码的一些技巧是什么?
答案 0 :(得分:20)
您已经提供了一些提示,说明您的方法是'破解快速脚本'。如果您需要最佳实践和结构,请简单地遵循CRAN中已建立的最佳实践:
R CMD check
的大门,非常有用\examples{}
部分添加代码,因为这将在R CMD check
期间运行,并且可以轻松进入回归测试答案 1 :(得分:14)
我推荐Josh Reich的负载,清洁,功能,来自this previous question的工作流程。
此外,我建议遵循Google's R Style Guide等编码指南。使用编码样式指南使得以后阅读代码变得更加容易。
答案 2 :(得分:6)
我完全同意现有的答案,特别是关于包的使用。软件包需要大量的规程,文档和结构,这确实有助于实施最佳实践(以及R CMD CHECK)。您也可以使用the codetools package来帮助解决此问题。使用roxygen包进行记录。
除此之外,我建议您不仅要对代码进行矢量化,更重要的是,尽一切努力对函数进行矢量化,这意味着您应该能够提供向量参数并返回向量(甚至来自数据库调用之类的东西)。从长远来看,这将真正提高您的代码效率和清晰度。
最后,我非常喜欢使用像Sweave这样的东西,在编写报告时将我的代码组织成清晰的文字可重复研究。除此之外,我建议使用缓存包。
答案 3 :(得分:2)
为了提高效率,首选for
循环上的向量操作。
答案 4 :(得分:1)
这是一般的编程实践,但使用SVN等版本控制系统来管理代码。