Как вы можете найти имена и местоположения всех функций, имеющих определенный аргумент? Есть ли способ найти их для функций в глобальной среде, прикрепленных пакетах и установленных пакетах?
Найти функции с конкретными аргументами
Ответ 1
Я предполагаю, что вы задаете вопрос, чтобы просто не потерять отличный ответ Бен. Здесь я немного изменяю ответ 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
в сочетании с asNamespace
:
basevals <- ls(asNamespace('base'))
basevals[sapply(basevals,uses_arg,'na.rm')]