is.function
現在のワークスペースですべての関数を見つけて、その目的で使用することを考えています。
「問題」は、オブジェクトの文字列名is.function
ではなく、真のRオブジェクトを予期していることです。
それが私の解決策ですが、使用eval(substitute(...))
するのは少し複雑なようです。より簡単な方法のアイデアはありますか、それともこれを行うことができる唯一の方法ですか?
コンテンツの例
x <- TRUE
y <- 10
foo1 <- function() message("hello world!")
foo2 <- function() message("hello world again!")
すべての関数オブジェクトを検索する
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