查找具有特定参数的函数

时间:2013-01-20 23:51:11

标签: r function arguments

如何找到具有特定参数的所有函数的名称和位置?有没有办法在全局环境,附加包和已安装的包中找到它们?

1 个答案:

答案 0 :(得分:14)

我认为你问这个问题只是为了不丢失Ben great answer. 在这里,我稍微修改Ben的答案来搜索任何参数:

uses_arg <- function(x,arg) 
  is.function(fx <- get(x)) && 
  arg %in% names(formals(fx))

例如,使用na.rm参数获取函数:

basevals <- ls(pos="package:base")      ## package name : here I use the base package
basevals[sapply(basevals,uses_arg,'na.rm')]

修改

name ls与[{1}}结合的asNamespace更好:

basevals  <- ls(asNamespace('base'))
basevals[sapply(basevals,uses_arg,'na.rm')]