搜索函数源代码

tim*_*cas 5 grep r function

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

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

例如,我可能想知道函数是否shapiro.test包含函数sort(它确实如此).

如果shapiro.test是字符串或字符串向量我会使用

grep('sort', shapiro.test)
Run Code Online (Sandbox Code Playgroud)

但是作为shapiro.test一个函数,这给出了错误"as.character(x)中的错误:不能强制类型'闭包'到类型'字符'的向量'".

我没有试图将函数强制转换为字符串.作为一个额外的,我不希望能够在编译时搜索基本函数.

use*_*275 8

这里的解决方案使用deparse:

> grep ("sort", deparse(shapiro.test))
[1] 5
Run Code Online (Sandbox Code Playgroud)