相关疑难解决方法(0)

找出在给定函数中调用哪些函数

可能重复:
在R中生成调用图

我想系统地分析给定的函数,以找出在该函数中调用的其他函数.如果可能的话,递归地.

我在milktrader的博客文章中遇到了这个函数,我可以用它来做类似的(或命名空间)

listFunctions <- function(
    name,
    ...
){ 
    name.0  <- name
    name    <- paste("package", ":", name, sep="")
    if (!name %in% search()) {
        stop(paste("Invalid namespace: '", name.0, "'"))
    }
    # KEEP AS REFERENCE       
#    out <- ls(name)
    funlist <- lsf.str(name)
    out     <- head(funlist, n=length(funlist))
    return(out)
}

> listFunctions("stats")
  [1] "acf"                  "acf2AR"               "add.scope"           
  [4] "add1"                 "addmargins"           "aggregate"           
  [7] "aggregate.data.frame" "aggregate.default"    "aggregate.ts"        
 [10] "AIC"                  "alias"                "anova"               
....
[499] "xtabs"   
Run Code Online (Sandbox Code Playgroud)

然而,我想要一个函数,name它将是函数的名称,返回值是在其中调用的函数的字符向量(或者列表,如果以递归方式完成)name.

动机

我实际上需要某种基于字符的输出(矢量或列表).这样做的原因是,我工作的一个通用的包装功能并行的abitrary"内部函数",你不必经过耗时的试错的过程,以找出其他功能内在的功能取决于.所以我之后的函数的输出将直接用于snowfall::sfExport() …

recursion dependencies r function function-declaration

9
推荐指数
2
解决办法
2729
查看次数