Получение аргументов функции heplot из пакета heplots R

Получение аргументов R функция довольно проста и может быть извлечена args(functionname), Но я не мог понять, как получить аргументы heplot функция от heplots пакет. Любая помощь будет высоко оценена. Спасибо

library(heplots)
?heplot
args(heplot)

function (mod, ...) 
NULL

Хочу получить следующую часть

## S3 method for class 'mlm'
heplot(mod, terms, hypotheses, term.labels = TRUE,
    hyp.labels = TRUE, err.label="Error", label.pos=NULL,
    variables = 1:2, error.ellipse = !add, 
    factor.means = !add, grand.mean = !add, remove.intercept = TRUE,
    type = c("II", "III", "2", "3"), idata=NULL, idesign=NULL,
    icontrasts=c("contr.sum", "contr.poly"),
    imatrix=NULL, iterm=NULL, markH0=!is.null(iterm),
    manova, size = c("evidence", "effect.size"),
    level = 0.68, alpha = 0.05, segments = 40, 
    center.pch = "+", center.cex=2,
    col = getOption("heplot.colors", 
               c("red", "blue", "black", "darkgreen", 
                 "darkcyan","magenta", "brown","darkgray")),
    lty = 2:1, lwd = 1:2, 
    fill=FALSE, fill.alpha=0.3,   
    xlab, ylab, main = "", xlim, ylim, axes=TRUE, offset.axes, 
    add = FALSE, verbose = FALSE, warn.rank = FALSE, ...)

1 ответ

Решение

heplot является универсальной функцией S3 Он использует метод, heplot.mlm, которая не экспортируется. Вы можете получить доступ к этой информации, сначала посмотрев на тело функции heplot, Если ты видишь UseMethod в теле функции функция использует метод. Все доступные методы для универсальных функций S3 доступны с methods

> methods(heplot)

Чтобы получить доступ к неэкспортированной функции, вы можете использовать :::, Оберните этот звонок args и у вас есть список аргументов, который вы ищете.

> args(heplots:::heplot.mlm)
# function (mod, terms, hypotheses, term.labels = TRUE, hyp.labels = TRUE, 
#     err.label = "Error", label.pos = NULL, variables = 1:2, error.ellipse = !add, 
#     factor.means = !add, grand.mean = !add, remove.intercept = TRUE, 
#     type = c("II", "III", "2", "3"), idata = NULL, idesign = NULL, 
#     icontrasts = c("contr.sum", "contr.poly"), imatrix = NULL, 
#     iterm = NULL, markH0 = !is.null(iterm), manova, size = c("evidence", 
#         "effect.size"), level = 0.68, alpha = 0.05, segments = 40, 
#     center.pch = "+", center.cex = 2, col = getOption("heplot.colors", 
#         c("red", "blue", "black", "darkgreen", "darkcyan", "magenta", 
#             "brown", "darkgray")), lty = 2:1, lwd = 1:2, fill = FALSE, 
#     fill.alpha = 0.3, xlab, ylab, main = "", xlim, ylim, axes = TRUE, 
#     offset.axes, add = FALSE, verbose = FALSE, warn.rank = FALSE, 
#     ...) 
# NULL

Примечание: эта функция, очевидно, имеет много аргументов, поэтому

> formals(args(heplots:::heplot.mlm))  ## or as.list()

может быть, лучше, более читабельный способ пройти через список аргументов.

Другие вопросы по тегам