2009-11-28 82 views
5

通常在R中,有十几个函数分散在多个包中 - 所有这些函数都有相同的目的,但当然不同准确性,性能,文件记录,理论严谨性等等。寻找你需要的R:在R和全部(3,500+)CRAN包中搜索焦点

你如何找到这些 - 从R内,甚至从您尚未安装的CRAN软件包中找到?

因此,例如:通用情节功能。设置二次蜱是非常容易使用功能外侧的底部包的

minor.tick(nx=n, ny=n, tick.ratio=n) 

当然情节是R中的核心,但minor.tick不,它实际上是在Hmisc

当然,这并不出现在的文档中,您也不应该期望它。

又如:可以供给数据输入参数情节由物体从功能hexbin返回,再次,这功能是从一个库- [R核心外部

显而易见的是,从各种库中收集这些函数参数并将它们放在单个命名空间中的程序化方法? (试图在上面更清楚地重新说明我的示例:)在R核心中提供的的参数,例如,设置轴标记频率为xaxp/yaxp;然而,也可以通过基本包外部的函数来设置/ t/f,就像Hmisc包中的minor.tick函数一样 - 但是您不会仅仅通过查看plot方法签名。有R中的元功能呢?*

到目前为止,我遇到他们,我一直在收集手动它们,每组聚集在一个单一的的TextMate片断(以及随之而来的库进口)。这并不困难或耗时,但我只能更新我的代码片段,因为我发现了这些额外的参数/参数。有没有规范的R方式来做到这一点,或者至少有一个更简单的方法?我不是在谈论多个包提供指向相同统计或视图的功能的情况(例如,基本包中的'boxplot'; gplots中的'boxplot.matrix'),以防万一不明确的情况发生。 ;和Rlab中的'bplots')。我在说的是两个或更多包中函数名相同的情况。

回答

5

的“sos”包是一个很好的资源。它的主要接口是“findFn”命令,该命令接受一个字符串(您的搜索项)并扫描Johnathan Baron站点搜索数据库中的“函数”条目,并返回包含数据框中搜索项的条目类“findFn”)。

此数据帧的列是:计数MaxScoreTotalScore功能日期分数说明,和链接。点击任何条目行中的“链接”将立即打开帮助页面。

举个例子:假设你想找到所有1800个+ R封装所有的卷积过滤器。

library(sos) 
cf = findFn("convolve") 

该查询看起来像“convolve”这个词,换句话说,不一定是函数名。

在“CF”键控(在这种情况下,23)返回找到的所有匹配的HTML表格。这个表格是我刚刚提到的数据框架的HTML呈现。特别方便的是每列(“Count”,“MaxScore”等)可通过点击列标题来排序,因此您可以通过“Score”,“Package Name”等查看结果。

(顺便说一句:运行准确的查询,其结果之一是在一个名为“latticeExtra”包功能“panel.tskernel”时,我不知道这个包在里面有任何的时间序列滤波器和我怀疑我否则将发现它。

+0

是啊,'sos'是大包确实如此。很抱歉,如果我错过了点,但你尝试过'RSiteSearch()'或'查询rse​​ek.org'。不知道'findFn()'是如何工作的(我会​​在抽出一些时间的时候学习源代码),但'rseek.org'具有很好的搜索能力,它是Google支持的...所以...希望它有帮助! – aL3xa 2010-03-20 13:52:05

+0

不错要知道!迷住多少有用的东西,你找到了! – 2010-12-23 22:30:18

1

你的问题不容易回答。没有一个确定的功能。

formals是给命名参数的函数和他们在一个名为列表默认的功能,但你始终可以通过...参数和变量参数嵌入hadArg功能隐藏命名的参数。要获得那些你必须使用getAnywhere的列表,然后扫描hasArg的表达式。我想不出自己做一个自动的方式。这是如果功能隐藏的参数没有记录。