Ich habe ein einfaches Shell-Skript, das meine Roxygen-Dokumente erstellt, das Paket erstellt, prüft und dann das neu erstellte Paket auf meinem Computer installiert. Es ist ganz einfach:Roxygen, Paketerstellung und Verwendung. Rd2 = TRUE
#! /bin/sh
R CMD roxygen -d myPackage
R CMD build myPackage/
R CMD check myPackage_0.01.tar.gz
R CMD INSTALL myPackage myPackage_0.01.tar.gz
Aber ich habe Probleme mit Roxygen meine .onLoad() Funktion als described previously on StackOverflow Aufnehmen. Die Lösung besteht darin, die Option use.Rd2 = TRUE mit roxygenize zu verwenden. Nun möchte ich von der Eingabeaufforderung bauen, so dass ich diese Linie geändert
R CMD roxygen -d myPackage
auf die folgende Zeile, die eine roxygenize Linie R durch die stdin schubst:
echo 'require("roxygen"); roxygenize("myPackage", roxygen.dir="myPackage",
copy.package=FALSE, use.Rd2=TRUE)' | R --no-save < /dev/stdin
Diese scheint nur zu arbeiten Dandy. Aber es fühlt sich ein wenig verworren an. Gibt es einen leichteren und/oder eleganteren Weg?
Wenn es funktioniert, was nicht? –
Nun, ich erinnere mich, einmal ein rJava-Problem zu beheben, indem ich die Umgebungsvariable JAVA_HOME manuell editierte. Obwohl das funktionierte, scheint es suboptimal zu sein. Also dachte ich, ich würde sicherstellen, dass ich einen ähnlichen Fehler nicht wiederholen würde. –
Ich benutze ein Makefile, das grundsätzlich dasselbe ausführt. Wie Dirk sagte, wenn es funktioniert, funktioniert es ... aber wenn es nicht kaputt ist, wird ein Programmierer normalerweise versuchen, es trotzdem zu beheben. : p – Sharpie