2015-04-01 70 views
0

我需要修改包QRM中的函數gamGPDfit()來解決問題。函數gamGPDfit()反過來調用其他函數fit.GPD()和gamGPDfitUp()來計算參數的估計值。R函數從另一個函數調用

函數的結構如下所示:

####################################################### 
gamGPDfit<-function (..., init = fit.GPD(...) , ...) 
{ 
... 
Par<-gamGPDfitUp(...) 
... 
return (list(...)) 
} 
<environment: namespace:QRM> 
####################################################### 

現在,當我打電話fit.GPD(),我得到的命令窗口中的功能進行必要的修改。然而,其它功能gamGPDfitUp()返回

> gamGPDfitUp 
Error: object 'gamGPDfitUp' not found 

的問題是,如何獲取另一個函數內,一個內置的功能?它是否與環境QRM有關?如果是這樣,我如何獲得修改它的功能呢?

我附加了函數,並且gamGPDfitUp()的調用以紅色表示。

回答

1

有幾件事情可能派上用場。

一個是help(":::") - 訪問命名空間中的導出和內部變量。您可以通過前綴QRM:::來訪問GamGPDfitUp。

另一個功能是fixInNamespace,它允許你修改包內的函數。這個幫助頁面列出了一些更有趣的工具。玩這個,它應該可以解決你的大部分問題。

+0

謝謝LauriK。它工作正常。親切的問候 – 2015-04-01 09:51:43

+0

不妨將它標記爲已回答:) – LauriK 2015-04-01 20:41:37