搜索函数源代码

在R中,您可以查看函数的来源,因为函数只是另一个对象。

我正在寻找一种方法来搜索这个源代码,而不知道源文件保存在哪里。

例如,我可能想知道函数shapiro.test包含函数sort (它的作用)。

如果shapiro.test是一个字符串或一串字符串,我会使用

grep('sort', shapiro.test)

但是,由于shapiro.test是一个函数,因此会给出错误“as.character(x)中的错误:不能强制类型'closure'变为'character'类型的向量。

我没有尝试将函数强制转换为字符串。 就像一个额外的,我不希望能够搜索基本函数,因为它们被编译。


这里使用deparse解决方案:

> grep ("sort", deparse(shapiro.test))
[1] 5

您可以将函数包装在capture.output ,该函数将每行转换为字符向量中的元素。

> grep("sort",capture.output(shapiro.test))
[1] 5 

或者你可以调用edit(shapiro.test)并使用options(editor=)指定的文本编辑options(editor=)来搜索函数。

链接地址: http://www.djcxy.com/p/6533.html

上一篇: Searching a functions source code

下一篇: Can I load an RData file while bypassing loading the namespaces?