我需要修改包QRM中的函数gamGPDfit()来解决问题。函数gamGPDfit()依次调用其他函数fit.GPD()和gamGPDfitUp()来计算参数的估计值。
该功能的结构如下所示:
#######################################################
gamGPDfit<-function (..., init = fit.GPD(...) , ...)
{
...
Par<-gamGPDfitUp(...)
...
return (list(...))
}
<environment: namespace:QRM>
#######################################################
现在,当我调用fit.GPD()时,我在命令窗口中获取该函数以进行必要的修改。但是,另一个函数gamGPDfitUp()返回
> gamGPDfitUp
Error: object 'gamGPDfitUp' not found
问题是,如何在另一个函数中获得这样的内置函数?它与环境QRM有关吗?如果是这样,我如何获得修改它的功能?。
我附加了这个函数,gamGPDfitUp()的调用用红色表示。
答案 0 :(得分:1)
有几件事可能派上用场。
一个是help(":::")
- 访问命名空间中的导出变量和内部变量。您可以使用QRM:::
前缀来访问GamGPDfitUp。
另一个函数是fixInNamespace
,它允许您修改包内的函数。这个帮助页面列出了一些更有趣的工具。玩这个,它应该解决你的大部分问题。