R-Pakete werden im Allgemeinen als komprimierte Dateipakete verteilt. Sie können entweder in binärer Form vorliegen, die in einem Repository vorverarbeitet werden, um eine C- oder Fortran-Quelle zu kompilieren und die richtigen Header zu erstellen, oder sie können in Quellform vorliegen, in der die verschiedenen erforderlichen Dateien für den Installationsprozess verfügbar sind. Dies erfordert jedoch, dass die Benutzer die erforderlichen Compiler und Tools an Stellen installiert haben, an denen der R-Build-Prozess unter Verwendung von Betriebssystemressourcen auf sie zugreifen kann.
Wenn Sie die Dokumentation für ein Paket bei CRAN lesen Sie sehen, dass sie in der Serie von komprimierten Formaten verteilt werden, die auf den OS-Zielen variieren je:
Package source: Rcpp_0.11.3.tar.gz # the Linus/UNIX targets
Windows binaries: r-devel: Rcpp_0.11.3.zip, r-release: Rcpp_0.11.3.zip, r-oldrel: Rcpp_0.11.3.zip
OS X Snow Leopard binaries: r-release: Rcpp_0.11.3.tgz, r-oldrel: Rcpp_0.11.3.tgz
OS X Mavericks binaries: r-release: Rcpp_0.11.3.tgz
Old sources: Rcpp archive # not really a file but a web link
Sobald ein R-Paket installiert wird ein angegebenes Verzeichnis Struktur. Die DESCRIPTION-Datei ist eine Textdatei mit spezifischen Einträgen für Komponenten, die bestimmen, ob die lokale Installation die Abhängigkeiten des Pakets erfüllt. Es gibt NAMESPACE-, LICENSE- und INDEX-Dateien. Es gibt Verzeichnisse mit den Namen '/ help', '/ html', '/ Meta', '/ R' und möglicherweise '/ libs', '/ demo', '/ data', '/ unitTests' und andere.
Dies ist der Baum an der Spitze des ../library/Rcpp
Paketverzeichnis:
$ ls
CITATION NAMESPACE THANKS examples libs
DESCRIPTION NEWS.Rd announce help prompt
INDEX R discovery html skeleton
Meta README doc include unitTests
So in der „Lebenszyklus“ eines Pakets wird es erforderliche und optionale Dateien, zunächst eine Reihe von der dann sein werden von den BUILD- und CHECK-Mechanismen in ein installiertes Paket verarbeitet, das dann für die Verteilung komprimiert und später in eine angegebene Verzeichnisstruktur auf dem Benutzercomputer entpackt wird. Sehen Sie diese Hilfeseiten:
?.libPaths # also describes .Library()
?package.skeleton
?install.packages
?INSTALL
Und natürlich Schreiben R Extensions lesen, Dokumente, die Schiffe mit jeder Installation von R.
Sie könnten mehr beeindruckt sein mit 'ls.str (" package: packageName ")' –
Ein Paket ist nur ein Bündel von R-Funktionen (mit Dokumentation) zusammengeklebt und organisiert von DESCRIPTION und NAMESPACE-Dateien. Ein Paket selbst ist kein R-Objekt. – Roland
Nun, manchmal mehr als streng funktioniert. Manchmal gibt es auch Datensätze und andere Nichtfunktionsobjekte, die notwendig sind, damit das Paket –