Erstellen von Basispaketen in GNU R
Einleitung
Egal, ob Sie Ihren Code und Ihre Daten mit anderen Personen teilen oder Ihren Code einfach nur kurz zusammenfassen möchten, die Möglichkeit, ein benutzerdefiniertes Paket in GNU R zu erstellen, kann für Sie nützlich sein. In diesem Artikel werden wir den Prozess der Erstellung eines Basispakets in R so klar wie möglich skizzieren. Dies beinhaltet nicht fortgeschrittene Kenntnisse zum Erstellen von R-Paketen. Dieses Tutorial wird Ihnen jedoch den Einstieg erleichtern. Möglicherweise finden Sie auch Hilfe in How to install and use packages in GNU R, wenn Sie mit der Verwendung von R-Paketen überhaupt nicht vertraut sind.
Erstellen einer Paketstruktur
Jedes Paket besteht aus einer Reihe von Funktionen, die so programmiert sind, dass sie mit einem gemeinsamen Ziel angewendet werden. Darüber hinaus werden häufig Beispieldaten mit dem Paket in R bereitgestellt. Lassen Sie uns nun ein einfaches Beispiel vorschlagen. Im Folgenden haben wir vier R-Objekte definiert: zwei Funktionen div() und pow() und zwei Datensätze in Form von zwei Vektoren data1 und data2.
> div<-function(a,b) a/b
> pow<-function(a,b) a^b
> data1<-c(1,4)
> data2<-c(7,2)Die Struktur (Vorlage) eines Pakets in R lässt sich leicht durch Ausführen der Funktion package.skeleton() erhalten, wie unten angegeben. Als Argumente übergeben wir die Liste der zuvor definierten R-Objekte und den Namen des neu erstellten Pakets.
> package.skeleton(list=c("div","pow","data1","data2"), name="exampleRpackage")
Creating directories ...
Creating DESCRIPTION ...
Creating NAMESPACE ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './exampleRpackage/Read-and-delete-me'.Als Ergebnis wurde eine Verzeichnis- und Dateistruktur eines R-Pakets erstellt. Alle relevanten Dateien und Verzeichnisse befanden sich in dem Verzeichnis exampleRpackage, das nach dem angegebenen Paket benannt war.
Die beiden Vektor-Beispieldaten befanden sich im Verzeichnis ./exampleRpackage/data/, während die Funktionsdefinitionen in ./exampleRpackage/R/ lagen. Das Verzeichnis ./exampleRpackage/man/ besteht aus den Template-Handbüchern, die den definierten Objekten und dem Paket im Allgemeinen entsprechen und selbsterklärend sind. Die Datei DESCRIPTION wurde ebenfalls erstellt. Diese Datei enthält alle wichtigen Paketinformationen wie die Paketversion, das Erstellungsdatum usw. Das heißt:
Package: exampleRpackage
Type: Package
Title: What the package does (short line)
Version: 1.0
Date: 2013-02-15
Author: Who wrote it
Maintainer: Who to complain to <yourfault@somewhere.net>
Description: More about what it does (maybe more than one line)
License: What license is it under?Überprüfen und Erstellen eines Pakets
Sobald das Basispaket erstellt ist, besteht die Notwendigkeit, es zu überprüfen und zu erstellen. Dies kann über die Linux-Befehlszeile mit dem R CMD-Check und dem R CMD-Build-Befehl erfolgen. Das heißt:
R CMD check exampleRpackageund
R CMD build exampleRpackageDer build-Befehl gibt die exampleRpackage_1.0.tar.gz zurück, die zur Installation bereit ist.
Schlussfolgerung
Das Erstellen und Erstellen eines Pakets in R kann viel komplexer sein als das einfache Beispiel, das in diesem Tutorial beschrieben wird. Es gibt eine Reihe von Problemen und Konventionen, die beim Erstellen eines Pakets berücksichtigt werden müssen. Dieses Tutorial hilft Ihnen, ein Paket für Ihren eigenen Gebrauch zu erstellen. Um ein Paket zu erstellen und bei CRAN einzureichen, ist es notwendig, die R-Konventionen genauer zu studieren. Wir beziehen uns auf Schreiben von R-Erweiterungen für eine umfassende Anleitung zum Erstellen eines Pakets in R.
GNU R Tutorial-Reihe:
Teil I: GNU R Einführende Tutorials:
- Einführung in GNU R unter Linux
- Ausführen von GNU R auf einem Linux-Betriebssystem
- Ein kurzes GNU R-Tutorial zu grundlegenden Operationen, Funktionen und Datenstrukturen
- Ein kurzes GNU R-Tutorial zu statistischen Modellen und Grafiken
- Wie man Pakete in GNU R installiert und verwendet
- Erstellen von Basispaketen in GNU R
Teil II: GNU R Sprache:
- Ein Überblick über die Programmiersprache GNU R