David Z
David Z

Reputation: 7041

How to retrieve R function script from a specific package?

I realize there are generic functions like plot, predict for a list of packages. I am wondering how could I get the R script of these generic functions for a specific package, like the lme4::predict. I tried lme4::predict, but it comes with error:

> lme4::predict
Error: 'predict' is not an exported object from 'namespace:lme4'

Upvotes: 2

Views: 536

Answers (1)

Tyler Rinker
Tyler Rinker

Reputation: 109874

Since you state that my suggestion above was helpful I will tell you my process. I used my own co-authored package called pacman. This package was developed because we had a hard time remembering all the obscurely named functions to get information on and work with add on packages.

I used this to figure out what you wanted:

library(pacman)
p_funs(lme4, all=TRUE)

I set all = TRUE as predict is a method for a specific class (like print, summary and plot). Generally, these methods are not exported so p_funs won't return them unless you set all = TRUE. Then I scrolled down to the p section and found only a single predict method: predict.merMod

Next I realized it wasn't exported so :: won't show me the stuff and extra colon power is needed, hence: lme4:::predict.merMod

As pointed out by David and rawr above, some functions can be suborn little snippets (methods etc.), thus methods and getAnywhere are helpful.

Here is an example of that:

library(tm)
dissimilarity  #The good stuff is hid

methods(dissimilarity)  #I want the good stuff
getAnywhere("dissimilarity.DocumentTermMatrix")     

Small end note

And of course you don't need pacman to look at functions for packages, it's what I use and helpful but it just wraps base R things. Use THE SOURCE to figure out exactly what.

Upvotes: 4

Related Questions