R: Поиск кода пакета в CRAN или установлен локально

Предположим, я хочу найти примеры использования одной или нескольких функций в коде base или отправленных пакетов, чтобы лучше понять идиоматическое использование этих функций. То есть я хочу выполнить поиск кода в местах, где используется функция, а не поиск мест, где эта функция определена. Поэтому я хотел бы включить, например, неэкспортированные функции.

В идеале я хотел бы выполнить сопоставление RegEx, чтобы найти функции с похожими именами, которые могут выполнять параллельную функцию. Я также хотел бы иметь возможность ограничить вывод на основе логических тестов типа вывода R, чтобы найти, например, только функции или некоторые более тонкие подразделения, такие как is.primitive() или is.closure(), или (из rlang) is_primitive_eager() или is_primitive_lazy().

Я отмечаю, что некоторые виды поиска, о которых я спрашиваю, существуют для документации пакета в пакете sos. Кроме того, я знаю, что поиск grep можно выполнять по именам экспортированных функций загруженных пакетов, как здесь: Multiple-loaded-packages-in-r">Поиск функций с использованием grep среди нескольких загруженных пакетов в R, а пакет lookup Джима Хестера находит определения функций в пакетах CRAN, даже если они не установлены. См. Также ответ Бена Болкера здесь: Имя пакета для данной функции в R Но ни один из этих методов не будет искать использование функции, а не определение функции.


person andrewH    schedule 29.04.2018    source источник
comment
Не могли бы вы просто разветвить/загрузить базу и выполнить простое регулярное выражение для исходных файлов?   -  person Roman Luštrik    schedule 29.04.2018