![]() |
||
|
![]() |
|
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ein wesentliches Merkmal von R ist die Erweiterbarkeit über Pakete. Neben den Paketen, die Sie über CRAN (offizielle Homepage des R-Projektes) auf Ihren Computer installieren können, ist es sicher hier und da hilfreich, eigene Pakete zu erstellen. |
|||||
![]() |
|||||
Abb.1: Hilfe Writing R Extensions |
![]() |
![]() |
... rufen Sie den Link Creating R packages auf und arbeiten sich durch das Themengebiet durch (Abb. 2): |
![]() |
![]() |
|
![]() |
||
Abb. 2: Creating R packages |
![]() |
![]() |
Im Folgenden wird die Paketerstellung an einem Demo-Beispiel beschrieben. Bevor Sie damit starten, sollten Sie die Systemvoraussetzung prüfen! Diese wird natürlich auch auf der Seite Writing R Extensions beschrieben. |
|
|
![]() |
![]() |
![]() |
![]() |
![]() |
|||
Abb. 4: R-Rückmeldung |
![]() |
![]() |
... und im Verzeichnis Eigene_Pakete wird das neue Paket-Verzeichnis demo (Abb. 5) angelegt: |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||
Abb. 5: Das Verzeichnis demo |
||||||||||||||||||||||||||||
Unter dem Verzeichnis demo finden Sie neben den Verzeichnisse man und R die Datei DESCRIPTION, die das Grundgerüst für die Paketbeschreibung darstellt (Abb. 6): |
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 6: Verzeichnisstruktur demo |
||||||||||||||||||||||||||||
Bevor wir das Paketgrundgerüst mit weiteren Informationen füllen, schauen wir uns eine sinnvolle Variante der Erstellung an! In diesem Beispiel gehen wir davon aus, dass Sie dem Anwender Beispieldatensätze mit dem Paket zur Verfügung stellen möchten. Auch das ist denkbar einfach, Sie geben das Datenobjekt einfach im Funktionsaufruf mit an. In diesem Beispiel werden die Datenobjekte einfakt und zweifakt mitgegeben: > einfakt <- read.csv2("Einf_ANOVA_Daten.csv") package.skeleton(name = "demo", list = c("normalv", "anova_faes", "einfakt", "zweifakt")) Auch hier wird nach Return das Verzeichnis demo, aber zusätzlich mit dem Verzeichnis data, angelegt (Abb. 7): |
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 7: Verzeichnisstruktur demo mit Beispieldatsatz |
||||||||||||||||||||||||||||
Nun bauen wir das Paketgrundgerüst zum fertigen Paket aus! Dazu wird mit der DESCRIPTION-Datei gestartet. Diese Datei enthält eine Vorlage der notwendigen Information (Abb. 8) die Sie nicht ändern sollten, wie
und Informationen, die Sie anpassen sollten:
|
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 8: Grundgerüst der DESCRIPTION-Datei |
||||||||||||||||||||||||||||
In dieser Datei können noch weitere Informationen, wie z. B. Abhängigkeiten, abgelegt werden. Wenn z. B. ein bestimmtes Paket zur Funktion des Pakets demo notwendig ist, muss das Schlüsselwort Depends vorhanden sein:
Für obiges Beispiel könnte die DESCRIPTION-Datei so aussehen (Abb. 9)... |
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 9: Ausgefüllte DESCRIPTION-Datei |
||||||||||||||||||||||||||||
... und steht Ihnen hier als Text-Datei zum Download zur Verfügung! In dem Verzeichnis R werden die im Funktionsaufruf genannten Funktionen abgelegt (Abb. 10)... |
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 10: Verzeichnis R |
||||||||||||||||||||||||||||
... und im Verzeichnis data die Daten, die in dem Paket eingebunden werden sollen (Abb. 11): |
||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||
Abb. 11: Verzeichnis data |
![]() |
![]() |
Beide Verzeichnisse werden von uns nicht weiter betrachtet. Sie müssen nur unverändert vorhanden sein! |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|||
Abb. 15: Ausschnitt Funktions-Dokumentation, Teil 3 |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|||
Abb. 16: Ausschnitt Funktions-Dokumentation, Teil 4 |
![]() |
![]() |
Von Zeile 63 an bis zur Zeile 416 wird der Funktionscode aufgeführt. Dieser Code wurde gelöscht. Die Funktionsdokumentation anova_faes können Sie als Text-Datei zum Download laden. Die Dokumentationsdatei-Bearbeitung für Datensätze gestaltet sich ein bisschen übersichtlicher. Dazu schauen wir uns das Gerüst zur Dokumentation des Datensatzes einfakt näher an (Abb. 17): |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||
Abb. 17: Ausschnitt der Datensatzdokumentation einfakt, Teil 1 |
||||||||
|
||||||||
![]() |
||||||||
Abb. 18: Ausschnitt der Datensatzdokumentation einfakt, Teil 2 |
![]() |
![]() |
Die Datensatzdokumentation einfakt können Sie als Text-Datei downloaden. Als letzten Datei-Typ wird die demo-package-Datei bearbeitet. In diesem Beispiel wird sie nur grundlegend ausgefüllt... |
![]() |
![]() |
|
![]() |
||
Abb. 19: Die demo-package-Datei |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
Abb. 20: Ausführung des Kommandos Rcmd check, Teil 1 |
![]() |
![]() |
Es sieht schon sehr positiv aus, wenn Sie bei Ihren versuchen ähnlich wie in Abb.21 gezeigt, ein OK-Meldung nach der anderen erhalten. Wenn Sie genau hinschauen, werden Sie in Abb. 21 auch eine Error- bzw. Warnmeldung finden. In diesem Fall stört sich die check-Anweisung an die Umlaute in den Funktionen! Wenn Sie also daran denken sollten, Ihr Paket der globalen R-Gemeinde zur Verfügung stellen zu wollen, sollte die Sprache englisch sein. Pakete, die an CRAN gesendet werden, müssen natürlich frei von Warnungen oder gar Fehlern sein. Prüfen Sie die Logbuchdateien im demo.Rcheck-Verzeichnis (Abb. 22)! Die letzte Zeile sagt aus, dass wir etwas wie ein Paket erstellt haben - aber natürlich sind wir ja noch beim Prüfen (check) (Abb. 21)....: |
![]() |
|
![]() |
![]() |
![]() |
Abb. 21: Ausführung des Kommandos Rcmd check, Teil 2, Logbuch |
|
|
![]() |
![]() |
Wir sind zufrieden und “bauen” nun endlich unser Paket! Dazu führen wir das Kommando build im Eingabeaufforderungs-Fenster (Abb. 23): |
![]() |
![]() |
![]() |
![]() |
||
Abb. 23: Paketerstellung über build |
![]() |
![]() |
Die Paketerstellung verlief positiv, das Paket demo_1.0.tar.gz wurde erstellt (Abb. 24)... |
![]() |
![]() |
![]() |
![]() |
||
Abb. 24: Paketerstellung über build verlief erfolgreich! |
![]() |
![]() |
... und im Verzeichnis Eigene_Pakete abgelegt (Abb. 25): |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||||||||||||||||||
Abb. 25: Paketdatei demo_1.0.tar.gz |
||||||||||||||||||||
Bevor Sie nun das Paket in Ihre R-Umgebung einbinden können, muss es noch ins Windowsformat gewandelt werden. Hier sind wir auf fremde Hilfe angewiesen! Diese Hilfe wird von der Uni Dortmund (Uwe Ligges) über den Link http://win-builder.r-project.org/ zur Verfügung gestellt und besteht aus einem Server der die Dateiwandlung vornimmt (Abb. 26). Laden Sie die Datei in das Verzeichnis R-release des Servers ... |
||||||||||||||||||||
![]() |
||||||||||||||||||||
Abb. 26: Server der Uni Dortmund, hochgeladene Datei demo_1.0.tar.gz |
||||||||||||||||||||
... und nach kurzer Zeit erhalten Sie ein automatisches Mail mit Informationen zur gewandelten Datei (Abb. 27): |
||||||||||||||||||||
![]() |
||||||||||||||||||||
Abb. 27: Automatische Mail vom Wandlungsserver |
||||||||||||||||||||
Klicken Sie auf den Link im obigen Mail (Abb. 27) und speichern Sie die Datei in dem gewünschten Verzeichnis (Abb. 28): |
||||||||||||||||||||
![]() |
||||||||||||||||||||
Abb. 28 Paket und Logbücher auf dem Server |
||||||||||||||||||||
Dann können Sie wie bekannt, das Paket installieren (siehe Einführung in R). Hier wird wegen der Vollständigkeit das in die Hilfe eingebundene Paket gezeigt (Abb. 29): |
![]() |
|
![]() |
![]() |
![]() |
Abb. 29: Paket in der R-Hilfe eingebunden |
|
|
![]() |
![]() |
Hat der Inhalt Ihnen weitergeholfen und Sie möchten diese Seiten unterstützen? |
|
|