我正在寻找一种解决方案,允许我跟踪我为各种项目和目的创建的众多R脚本。有些脚本可以轻松跟踪到特定项目,而其他脚本则是为方便一组任务而创建的“便利”功能。
有没有办法可以创建一个中央数据库并查询它以查找哪些脚本最匹配? 我可以手动创建一个使用DBMS的系统,但是用户是否知道一般或特定于R的任何东西,它们以软件工具的形式出现(可能是FOSS)?
编辑:谢谢你的回复。我当前的系统只是一组带有注释的脚本,可以让我识别他们的预期任务。虽然我使用带有SVN的StatET,但我想要一个跟“sos”包一致的搜索工具。答案 0 :(得分:4)
问题
我正在寻找一种解决方案,可以让我跟踪大量的R脚本 我为各种项目和目的创建的。某些脚本可以轻松跟踪到特定的 项目,而其他是为便利一系列任务而创建的“便利”功能。
未能解决 现有 机制不适合的明显后续行动:
重新创建1.到3的RDBMS架构在我的书中是错误的。但如果你必须这样做,那就继续复制你已经(大多数时候)在经过测试和广泛使用的代码中免费获得的东西。
答案 1 :(得分:3)
您可能最适合使用版本控制系统。许多可以编入索引并成为search-able。在我的工作中,一堆R,Eclipse,StatET,Subversion和Subclipse对我们非常有效。
答案 2 :(得分:3)
R提供了几种搜索帮助的机制,其中大多数都自然地使用CRAN。一些示例:the sos package,cranberries,crantastic和rseek。在许多情况下,这些可以适用于使用本地存储库(您可以在R手册中找到how to create a local repository,这非常容易)。否则,如果您打包脚本并将其提交给CRAN,您自然可以使用这些脚本。我还强烈推荐这个主题的演讲:来自Spencer Graves和Sundar Dorai-Raj的Creating R Packages, Using CRAN, R-Forge, And Local R Archive Networks And Subversion (SVN) Repositories。
这些要求您将代码放入包中,并创建文档,所有这些都值得做。软件包文档对于记录所做的事情以及帮助您将来找到它们非常有用。您可以使用roxygen
在您的代码中创建此文档。另请阅读此相关问题:Organizing R Source Code。
或者,help.search()
函数对于搜索本地包非常有用,无论您是否设置了存储库。