Beim Erstellen eines R-Pakets gibt es mindestens zwei Alternativen, um Funktionen in importierten Paketen zu referenzieren.Wie sollte ich Funktionen in importierten Paketen referenzieren?
Entweder
Explizit der Name der Funktion, die doppelten Doppelpunkt-Operator, wann immer Sie es nennen,
package::function
.Fügen Sie
importFrom(package, function)
in die DateiNAMESPACE
ein, entweder direkt oder über einen#' @importFrom package function
Roxygen-Tag.
Was sind die Vor- und Nachteile der einzelnen Methoden?
Gibt es technische Unterschiede hinsichtlich der einzelnen Syntax?
Doppelter Doppelpunkt kann nur exportierte Funktionen referenzieren. Sie müssen andernfalls Tripel-Doppelpunkt verwenden. – James
@James Das stimmt, aber Sie sollten nicht auf nicht exportierte Funktionen von Paketen anderer Leute zugreifen, da die API Ihren Code ändern und brechen könnte. –
Wild raten: Ich denke 'importFrom' importiert die Funktion, wenn Sie Ihr Paket laden, aber '::' sucht zur Laufzeit, so dass 'importFrom' das Paket länger zum Laden braucht, aber' :: 'macht Ihren Code läuft langsamer. Ich vermute, dass es jeweils nur um Mikrosekunden Unterschiede geht. –