[R] How could I see the source code of functions in an R	package?
    arun 
    smartpink111 at yahoo.com
       
    Fri May 17 04:30:31 CEST 2013
    
    
  
HI,
methods(xyplot)
#[1] xyplot.formula* xyplot.ts*     
#
 #  Non-visible functions are asterisked
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(), default.prepanel = lattice.getOption("prepanel.default.xyplot"), 
    subscripts = !is.null(groups), subset = TRUE) 
--------------------------------------------------------
-------------------------------------------------------
           names(foo$legend) <- foo$legend[[1]]$args$space
    }
    class(foo) <- "trellis"
    foo
}
lattice:::xyplot.ts
A.K.
Hi, 
   How could I see the source code of functions in an R package? 
   If we type ?function_name , we will see documentations of the 
function_name. 
   If we type function_name, is what returns just the source code? Could we 
just save it in an .R file and modify as we want? However, it seems that 
sometimes the source code is hidden (or stored elsewhere?) As an example, 
could we see the source code of "xyplot" in the following example? 
   Thanks, 
> library(lattice) 
> xyplot 
function (x, data, ...) 
UseMethod("xyplot") 
<environment: namespace:lattice> 
> library(plm) 
Loading required package: bdsmatrix 
Attaching package: bdsmatrix 
The following object(s) are masked from package:base: 
    backsolve 
Loading required package: nlme 
Loading required package: Formula 
Loading required package: MASS 
Loading required package: sandwich 
Loading required package: zoo 
Attaching package: zoo 
The following object(s) are masked from package:base: 
    as.Date, as.Date.numeric 
> ?plm 
> plm 
function (formula, data, subset, na.action, effect = c("individual", 
    "time", "twoways"), model = c("within", "random", "ht", "between", 
    "pooling", "fd"), random.method = c("swar", "walhus", "amemiya", 
    "nerlove", "kinla"), inst.method = c("bvk", "baltagi"), index = NULL, 
    ...) 
{ 
    nframe <- length(sys.calls()) 
    is.a.list <- class(formula)[1] == "list" 
    if (is.a.list) { 
        plmlist <- match.call(expand.dots = FALSE) 
        plmlist[[1]] <- as.name("plm.list") 
        plmlist <- eval(plmlist, sys.frame(which = nframe)) 
        return(plmlist) 
    } 
    dots <- list(...) 
    effect <- match.arg(effect) 
    if (!any(is.na(model))) 
        model <- match.arg(model) 
    random.method <- match.arg(random.method) 
    inst.method <- match.arg(inst.method) 
    if (!is.na(model) && model == "ht") { 
        ht <- match.call(expand.dots = FALSE) 
        m <- match(c("formula", "data", "subset", "na.action", 
            "index"), names(ht), 0) 
        ht <- ht[c(1, m)] 
        ht[[1]] <- as.name("pht") 
        ht <- eval(ht, parent.frame()) 
        return(ht) 
    } 
    if (!is.null(dots$instruments)) { 
        as.Formula(formula, dots$instruments) 
        deprec.instruments <- paste("the use of the instruments argument is 
deprecated,", 
            "use two-part formulas instead") 
        warning(deprec.instruments) 
    } 
    if (inherits(data, "pdata.frame") && !is.null(index)) 
        warning("the index argument is ignored because data is a 
pdata.frame") 
    if (!inherits(data, "pdata.frame")) 
        data <- pdata.frame(data, index) 
    if (!inherits(formula, "pFormula")) 
        formula <- pFormula(formula) 
    if (length(formula)[2] == 2) 
        formula <- expand.formula(formula) 
    cl <- match.call() 
    mf <- match.call(expand.dots = FALSE) 
    m <- match(c("formula", "data", "subset", "na.action"), names(mf), 
        0) 
    mf <- mf[c(1, m)] 
    mf$drop.unused.levels <- TRUE 
    mf[[1]] <- as.name("model.frame") 
    mf$formula <- formula 
    mf$data <- data 
    data <- eval(mf, parent.frame()) 
    if (is.na(model)) { 
        attr(data, "formula") <- formula 
        return(data) 
    } 
    args <- list(model = model, effect = effect, random.method = 
random.method, 
        inst.method = inst.method) 
    result <- plm.fit(formula, data, model, effect, random.method, 
        inst.method) 
    result$call <- cl 
    result$args <- args 
    result 
} 
<environment: namespace:plm>
    
    
More information about the R-help
mailing list