查找当前工作空间中的所有功能

Rap*_*ter 7 workspace r function

我想找到当前工作区中的所有函数,并考虑将其is.function用于此目的.

"问题"是is.function期望一个真正的R 对象,而不是对象的字符串名称.

这是我的解决方案,但使用eval(substitute(...))似乎有点牵扯.任何想法更直接的方式或是唯一的方法可以做到这一点?

示例内容

x <- TRUE
y <- 10
foo1 <- function() message("hello world!")
foo2 <- function() message("hello world again!")
Run Code Online (Sandbox Code Playgroud)

查找所有函数对象

wscontent <- ls(all.names=TRUE)
funs <- sapply(wscontent, function(ii) {
    eval(substitute(is.function(OBJ), list(OBJ=as.name(ii))))
})
> funs
     foo1      foo2      funs wscontent         x         y 
     TRUE      TRUE     FALSE     FALSE     FALSE     FALSE 
Run Code Online (Sandbox Code Playgroud)

Ben*_*nes 11

怎么样

lsf.str()
Run Code Online (Sandbox Code Playgroud)

哪个应列出所有功能.