Add objects to package namespace

Etienne Racine picture Etienne Racine · Jun 22, 2010 · Viewed 11.5k times · Source

I'd like to push a function inside a package namespace so it can access internal objects of that package (let's use stats package as an example). I've tried using

myfun <- function(x) print(x)
env = loadNamespace("stats")
assign("myfun", myfun , env)

But it is locked. So I've tried to unlock my object

unlockBinding("myfun", env)

Since myfun doesn't exist yet, I can't unlock it.

Any help ?

Answer

Mark Bravington picture Mark Bravington · Aug 4, 2010

Along the line of @Hadley's solution, but using the environment of the namespace, how about:

environment(myfun) <- asNamespace('stats')