[R] Turning a source into a Package
Jim Lemon
jim at bitwrit.com.au
Tue Aug 10 12:19:46 CEST 2010
On 08/10/2010 02:51 AM, JH wrote:
>
> I want to edit a function in the nlme package. I download the package source
> nlme_3.1-96.tar.gz from the link below then edit it one of the scripts
> inside of it. From this stage how can I turn it into a package that I can
> use in R?
>
> http://cran.r-project.org/web/packages/nlme/index.html
Hi JH,
The problem I have encountered with this is that installed packages
often do not have all the required directories and the source code for
checking and building. With a small package, you can get the source code
for all the functions by sinking the output produced by invoking each
function name without arguments to a file in the R subdirectory (copy
the whole installed package directory to another location first):
sink("anova.lme.R")
cat("anova.lme<-")
anova.lme
sink()
but this is only practical for small packages. You would also have to
back translate the HTML help files to Rd format and place these in the
man directory, again a considerable task for a package like nlme. Your
best bet for something like this is to load the library:
library(nlme)
and then source the modified code:
source("anova.lme.R")
or whatever function you have modified. You can even write a function to
do this:
my.library(x,newfile) {
library(x)
source(newfile)
}
my.library("nlme","anova.lme.R")
Jim
More information about the R-help
mailing list