2014-10-25 6 views
9

Ich schreibe ein R-Paket und ich möchte generische Funktion forecast aus dem Paket Prognose importieren. Mein Paket bietet die Methode forecast.myobj. Ich habe die forecast im Imports: im Paket DESCRIPTION Datei und meine Funktion Definition ist wie folgt:Wie importiere ich eine R-Funktion aus einem anderen Paket, so dass sie für den Benutzer verfügbar wäre?

##' @export 
forecast.myobj <- function(x) { 

} 

Ich bin mit devtools Paket (Version 1.5), um das Paket zu erstellen. Die erzeugte NAMESPACE hat folgende

S3method(forecast, myobj) 
importFrom(forecast, forecast) 

Allerdings, wenn ich mein Paket in einer sauberen R Sitzung laden, Funktion forecast nicht verfügbar ist. Interessanterweise kann ich Hilfeseiten von forecast und forecast.myobj sehen und ich kann auf diese Funktionen über forecast::forecast und mypackage:::forecast.myobj zugreifen. Ist es irgendwie möglich, forecast dem Benutzer zur Verfügung zu stellen, ohne vom Paket forecast abhängig zu sein? Ich überprüfte die Dokumentation und überprüfte eine Reihe ähnlicher Fragen hier, aber ich fand die definitiv negative oder positive Antwort nicht.

+0

Beachten Sie, dass '' devtools' verwendet roxygen2' die 'NAMESPACE'-Datei zu erzeugen, so in dieser Dokumentation suchen kann auch helfen. –

Antwort

10

Die importierte Funktion muss in der Namespace-Datei exportiert werden, damit es für die Nutzer zur Verfügung steht:

S3method(forecat, myobj) 
importFrom(forecast, forecast) 
export(forecast) 

Ein Beispiel finden Sie in das NAMESPACE file des dplyr-Paket, das %>% vom magrittr Paket importiert und exportiert es so, dass es ist für den Benutzer zugänglich.

5

Geben Sie meine eigene Antwort, um Informationen hinzuzufügen, wie Sie die in @G beschriebene NAMESPACE erreichen können. Grothendieck Antwort mit Devtools Paket. Die folgenden Zeilen (nach dem Vorbild dplyr's code) dem Trick

##' @importFrom forecast forecast 
##' @name forecast 
##' @rdname forecast.myobj 
##' @export 
NULL 
+0

Dead Link, schlagen Sie etwas wie https://github.com/hadley/dplyr/blob/7bb56529ca3833f9739f4021ae2778610597bd34/R/tibble-reexport.r#L3 – r2evans

+0

Fixed it, danke! – mpiktas