[R] modify function in a package

David Winsemius dwinsemius at comcast.net
Fri Sep 26 02:14:30 CEST 2014


On Sep 25, 2014, at 11:21 AM, C Lin wrote:

> Dear R users, 
> There is a package called NanoStringNorm with a function called NanoStringNorm.
> What I want to do is to change the NanoStringNorm function from the package with my own copy that is written in my.nanostringnorm.R. 
> But if I do the following: 
> 
> source('my.nanostringnorm.R")
> unlockBinding("NanoStringNorm", as.environment("package:NanoStringNorm")) ; 
> assign("NanoStringNorm", NanoStringNorm, "package:NanoStringNorm") ; 
> 
> Although, it now correctly called my NanoStringNorm, it doesn't recognize a function called inside my NanoStringNorm that called another functions in the NanoStringNorm package. 
> So, I have to change all such functionswith NanoStringNorm:::function.name. 
> How should I replace the NanoStringNorm function but still able to call other function in the package? 
> I still have package NanoStringNorm in my search path but somehow it can't find the other function. 

Take a look at assignInNamespace. It's also possible to set teh environment of a function:

?assignInNamespace
?`environment<-`


-- 
David Winsemius
Alameda, CA, USA



More information about the R-help mailing list