2009-11-24 10 views

risposta

18

Basta inserire il nome di una funzione/metodo senza parentesi:

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

Vedi anche R-Help Desk - Accesso alle Fonti in R News Volume 6/4, October 2006.

9

per scoprire quali metodi si desidera visualizzare, scrivere methods(funcOfInterest)

A volte non basta a print(funcOfInterest.class). Prova quindi a print(getAnywhere(funcOfInterest.class)).

+1

E nota che se stai lavorando in modo interattivo non hai bisogno della chiamata esplicita a 'stampa'. – Dason

15

Come si trova il codice sorgente dipende dal tipo di funzione. Vedere my answer per questa domanda correlata.

Come rcs ha sottolineato, se si desidera specificare un pacchetto, è possibile utilizzare ::.

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

Non tutte le funzioni di un pacchetto verranno esportati (cioè reso pubblicamente disponibili); per questi è necessario utilizzare :::.

> 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. 
Problemi correlati