2016-03-19 12 views
5

Ich entwickle ein R-Paket, das als Wrapper für Funktionen aus den parallelen und RhPC-Paketen ctools funktioniert. Ich weiß, wenn ich möchte, dass mein Paket diese Pakete erfordert, muss ich sie in den Imports Abschnitt der Datei DESCRIPTION aufnehmen. Bei der Installation meines Pakets werden diese Pakete von CRAN installiert. Ähnlich kann ich sie in den Suggests Abschnitt stellen, wenn sie nicht benötigt werden, aber nützlich. Diese werden nicht mit meinem Paket installiert.Wie macht man das R-Paket, um ein auf GitHub gehostetes Paket zu empfehlen?

Aber ich habe das Rhpc-Paket gegabelt und eine Funktion hinzugefügt, die ich in meinem Ctools-Paket verwende. Wie bekomme ich mein Paket, um dieses Paket von meinem GitHub Repo zu empfehlen/zu importieren, anstatt das Rhpc-Paket zu installieren, führt es devtools::install_github("bamonroe/Rhpc") aus?

Antwort

7

Aus dem Handbuch (und unter Quellenangabe hier):

@c BESCHREIBUNG Feld Additional_repositories

Die @samp {Additional_repositories} Feld ist eine durch Kommata getrennte Liste von Repository URLs, auf denen die genannten Pakete In den anderen Feldern kann gefunden werden. Es wird derzeit von @ command {R CMD check} verwendet, um zu überprüfen, ob die Pakete gefunden werden können, zumindest als Quellpakete (die auf jeder Plattform installiert sein können).

Sie können das Paket zu Suggests: und verweisen auf zusätzliche Repositories hinzufügen - möglicherweise mit drat erstellt. Es gab ein Paket, das das machte, und IIRC gibt es jetzt noch, aber sein Name ist mir jetzt entgangen.

Bearbeiten: Es gefunden! Sehen Sie hier in der source DESCRIPTION file of RNeXML - und beachten Sie, wie die Linie in der posted DESCRIPTION on CRAN verschwindet. Besser noch, beachten Sie, wie zwei der Pakete in Suggests: sind nicht eine Hyperlinks auf CRAN aufgelistet. Ich denke, diese kommen von den zusätzlichen Repos. Und ja, rOpenSci verwendet drat, um das zu verwalten.

Edit 2: Und gerade die Schleife zu schließen, können Sie (leicht) verwenden drat solche zusätzliche Repo auf GitHub Gastgeber - den vorrangigen Anwendungsfall für drat.

+0

Ich lerne jeden Tag etwas Neues. :) –

+0

Do not wir alle :) –

+0

Tolles Zeug! Ich lese jetzt deine Drat Basics Seite durch. Also erstelle ich ein Repository auf GitHub, indem ich möglicherweise mein drat git repo forkiere, auf mein neu erstelltes Repository im 'Additional_repositories' Feld meiner' DESCRIPTION' Datei deute, und dann meine gegabelte Version von Rhpc der suggestive Zeile hinzufüge, so wie es war irgendein anderes Paket? Nicht dass es ein Problem ist, aber müsste ich den Namen meines gespaltenen Rhpc ändern? Es scheint, als würde es eine Namensraumverwechslung zwischen der CRAN-Version und meiner geben. –