Ich schreibe ein R-Paket und ich möchte eine Funktion aus einem anderen Paket verwenden (plotKML
). Dieses externe Paket hat so viele Abhängigkeiten, dass ich nicht möchte, dass meine Benutzer es herunterladen müssen. Wenn ich importFrom(plotKML, readGPX)
in der NAMESPACE-Datei verwende, lädt es alle plotKML
in den Namespace und lädt alle Abhängigkeiten herunter, die ich nicht haben möchte.Importieren Sie eine Funktion in R-Paket (ohne ImportFrom)
Die Frage ist also: ist es angebracht, den Code für die eine Funktion zu kopieren, die ich brauche (sicherstellen, dass alle Abhängigkeiten in dieser einen Funktion enthalten sind)? Wenn ja, was ist für die Zuordnung/Dokumentation angemessen - kopiere ich die Dokumentation aus dem Original?
Es gibt eine großartige Diskussion dieses Problems in this post und die Antwort von Brian Diggs ist sehr hilfreich. Aber er endet mit "Für Ihr Beispiel wäre es vielleicht besser, den Code für memisc :: describe in Ihr Paket zu kopieren, obwohl dieser Ansatz seine eigenen Probleme und Vorbehalte hat", so bleibt mir etwas Unsicherheit darüber, was die Probleme sind und ob es aus einer Attributionsperspektive angemessen ist.
Funktioniert der Code für diese Funktion ohne die Abhängigkeiten? – Dason
Die Funktion hängt von einigen Funktionen im XML-Paket ab, die ich sowieso importieren muss, also kein Problem. Andernfalls sind keine Funktionen der anderen Pakete erforderlich, die bei den Importen aufgelistet sind (fast 20 Pakete sind erforderlich!), Siehe [hier] (http://cran.r-project.org/web/packages/plotKML/index.html) für die Liste, die plotKML benötigt. – ZRoss
Ich würde annehmen, dass die meisten Ihrer Benutzer mindestens die Hälfte der Pakete installiert hätten, von denen plotKML trotzdem importiert wird. – Roland