我在这个看似简单的问题上拔头发。我正在尝试更改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*’
我已经尝试过各种各样的排列,但看起来并不合适。我是命名空间等的新手,所以希望知识渊博的人可以提供帮助!
提前致谢。