Подтвердить что ты не робот

Просмотр источника пакета R

Есть ли простой способ просмотра источника R-пакета (или метода в пакете) из интерактивной среды?

4b9b3361

Ответ 1

Просто введите имя функции/метода без круглых скобок:

R> base::rev.default 
function (x) 
if (length(x)) x[length(x):1L] else x
<environment: namespace:base>

См. также R-Help Desk - Доступ к источникам в R News Volume 6/4, октябрь 2006 г..

Ответ 2

Как вы находите, исходный код зависит от типа функции. См. мой ответ на этот связанный с этим вопрос.

Как указано в rcs, если вы хотите указать пакет, вы можете использовать ::.

> lattice::xyplot
function (x, data, ...) 
UseMethod("xyplot")
<environment: namespace:lattice>

Не все функции из пакета будут экспортироваться (т.е. публично доступны); для этого вам нужно использовать :::.

> lattice::xyplot.formula
Error: 'xyplot.formula' is not an exported object from 'namespace:lattice'

> lattice:::xyplot.formula
function (x, data = NULL, allow.multiple = is.null(groups) || 
    outer, outer = !is.null(groups), auto.key = FALSE, aspect = "fill", 
    panel = lattice.getOption("panel.xyplot"), prepanel = NULL, 
    scales = list(), strip = TRUE, groups = NULL, xlab, xlim, 
    ylab, ylim, drop.unused.levels = lattice.getOption("drop.unused.levels"), 
    ..., lattice.options = NULL, default.scales = list(), subscripts = !is.null(groups), 
    subset = TRUE) 
{
    formula <- x
    dots <- list(...)
# etc.

Ответ 3

Чтобы узнать, какие методы вы хотите увидеть, напишите methods(funcOfInterest)

Иногда это не достаточно для print(funcOfInterest.class). Тогда попробуйте print(getAnywhere(funcOfInterest.class)).