Pregunta

¿Hay una manera fácil de ver el código fuente de un paquete de R (o un método en un paquete), desde el entorno interactivo?

¿Fue útil?

Solución

Sólo tienes que introducir el nombre de una función / método sin paréntesis:

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

Ver también R-Mesa de Ayuda - Acceso a las Fuentes en R News Volumen 6/4, octubre de 2006 .

Otros consejos

Cómo encontrar el código fuente depende del tipo de función. Ver mi respuesta a esta pregunta relacionado.

Como señalaron rcs, si desea especificar un paquete, puede utilizar ::.

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

se exportarán No todas las funciones de un paquete (es decir, hecho disponible públicamente); para éstos que necesita para su uso :::.

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

Para saber en qué métodos usted quiere ver, methods(funcOfInterest) escribir

A veces no es suficiente para print(funcOfInterest.class). Trate print(getAnywhere(funcOfInterest.class)) a continuación.

Descarga de origen del paquete de https://cloud.r-project.org/src/contrib y abrirlo con su editor favorito. Encuentra la definición de función (se puede utilizar grep para eso). A veces se puede encontrar una introducción útil también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top