2016-05-10 7 views
-2

Ich muss meinen Code als R-Paket verteilen, um ein Papier zu veröffentlichen. Das Skript soll im Stapelmodus mit dem SchlüsselwortargumentR-Paket erstellen, das nur im Stapelmodus ausgeführt wird

z.

Rscript script.R --input=foo.txt --barparameter=bar --outputname=output.txt 

Es ist ziemlich gut geschrieben mit integrierter Hilfe-Funktion und so.

Ich folgte den Anweisungen zum Erstellen von R-Paket und die Dinge laufen gut. Mein Skript soll jedoch als ganzes Skript verwendet werden, nicht als einzelne Funktion. Bisher werden alle R-Pakete, die ich kenne, nur die Funktion bereitstellen. Ich weiß nicht, was ich in diesem Fall ./R Verzeichnis von R-Paket setzen soll. Irgendwelche Empfehlungen würden geschätzt.

Antwort

1

Leider müssen Sie Ihr anfängliches Skript in verschiedene Funktionen ändern (oder nur eine große Funktion erstellen). Alle Hilfedateien müssen als .rd geschrieben werden.

Als nächstes müssen Sie ein zweites Skript erstellen, das die im Paket geschriebenen Funktionen aufruft. Dieses Skript sollte in den Paketen /inst Ordner platziert werden oder in eine Vignette eingebettet und in das Verzeichnis /vignette platziert werden.

+0

Können Sie ein wenig erklären, warum ich ein zweites Skript erstellen muss, das das erste Skript aufruft? Meinst du, dass das zweite Skript die Arbeit machen sollte, die mit meiner aktuellen Version vergleichbar ist, aber die Funktion stattdessen vom ersten Skript aus aufrufen? Ich erstelle das Paket mit R Studio und Vingette und Inst scheinen nicht da zu sein. Ich habe nur Beschreibung, R, NAMESPACE, Mann und Rproj. Welches Programm wählen Sie, wenn Sie das R-Paket erstellen? – Victor

+0

Das erste Skript muss in der Funktionsform (z. B. "do_this = function (x) {print (x)}") innerhalb des Pakets vorliegen. Das zweite Skript kann ein praktisches Beispiel dafür sein, wie die verschiedenen Funktionen (einschließlich Batch-Modus) ausgeführt werden. Um eine Vignette zu verwenden, geben Sie Folgendes ein: 'devtools :: use_vignette (" my-vignette ")' Dies sollte automatisch das Verzeichnis '/ vignette' erstellen. – coatless

+0

Danke Coatless! – Victor

Verwandte Themen