# [ACCEPTED]-View the source of an R package-r-faq

Just enter the name of a function/method 1 without parentheses:

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

See also *R-Help Desk - Accessing the Sources* in R News Volume 6/4, October 2006.

How you find the source code depends on 6 the type of function. See my answer to this related 5 question.

As rcs pointed out, if you want 4 to specify a package, you can use `::`

.

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

Not 3 all functions from a package will be exported 2 (i.e. made publically available); for these 1 you need to use `:::`

.

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

To find out which methods you want to see, write 1 `methods(funcOfInterest)`

Sometimes it does not suffice to `print(funcOfInterest.class)`

. Try `print(getAnywhere(funcOfInterest.class))`

then.

Download package source from https://cloud.r-project.org/src/contrib and open it 3 with your favorite editor. Find the function 2 definition (you can use `grep`

for that). Sometimes 1 you can find a useful introduction as well.

More Related questions

We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.