更改R命名空间中的函数

时间:2015-02-06 21:20:42

标签: r

我在这个看似简单的问题上拔头发。我正在尝试更改hglm包中的函数;特别是私有的hglm.default函数。

以下是我所做的:

library(hglm) e<-loadNamespace("hglm") unlockBinding("hglm.default",e) assignInNamespace("hglm.default",...my edits...,ns="hglm",envir=e) lockBinding("hglm.default",e)

但是,当我这样做时

environment(hglm:::hglm.default)

我得到了

<environment: R_GlobalEnv>

这是有问题的;它需要在hglm(<environment: namespace:hglm>)的命名空间环境中,否则它不起作用。如果我尝试用

设置环境

environment(hglm:::hglm.default)<-e

我收到错误

Error in loadNamespace(name) : there is no package called ‘*tmp*’

我已经尝试过各种各样的排列,但看起来并不合适。我是命名空间等的新手,所以希望知识渊博的人可以提供帮助!

提前致谢。

0 个答案:

没有答案