搜索函数源代码
在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=)
来搜索函数。
上一篇: Searching a functions source code
下一篇: Can I load an RData file while bypassing loading the namespaces?