Natürlich müssen Sie nicht den dotted style verwenden. Wir benutzen in diesem Buch camelCase für Funktionen und dotted style für alle anderen Objekte. Zwar nutzt R für viele Basisfunktionen und andere Objekte dotted style , jedoch wird der Punkt intern auch für andere Zwecke verwendet. Aus diesem Grund halten wir es für sicherer, für Funktionen camelCase zu verwenden. Wenn Sie jedoch im Code irgendwo einen Punkt sehen: Keine Angst, der tut nichts. Er ist nur Teil des Namens.
Das ganze Thema mit den Namen ist einer der Nachteile von quelloffener Software. Sie wird von sehr schlauen und altruistischen Personen geschrieben, die manchmal sehr starke Überzeugungen haben. Die führen dazu, dass die Namenskonventionen alles andere als standardisiert sind.
Eigentlich würde man einen Funktionsnamen wie save.history()
erwarten, die Funktion heißt aber savehistory
()
. Ähnlich gelagert ist der Fall mit R.Version()
. Hier würde man eher R.version()
erwarten. Die Funktion R.Version()
gibt Ihnen alle möglichen Informationen über die gerade verwendete Version von R sowie das System, auf dem sie läuft. In anderen Fällen finden Sie lupenreine camelCase-Notation . Wenn Sie zum Beispiel nur an der Versionsnummer von R interessiert sind, fragen Sie diese mit der Funktion getRversion()
ab. Manche Autoren von Paketen benutzen lieber Unterstriche ( _
) zur Trennung der Wörter. Dies wird uns noch weiter hinten im Buch begegnen, zum Beispiel im Paket ggplot2
, das wir Ihnen in Kapitel 18vorstellen.
Namen sind nicht die einzigen Mittel, Ihren Code lesbarer zu machen. Wenn Sie erst anfangen, Funktionen zu verschachteln, oder komplexe Berechnungen anstellen, kann Ihr Code ziemlich schnell zu einem großen Ungetüm voller Text und Symbolen werden. Glücklicherweise kennen Sie ein paar Tricks, mit denen Sie Ihren Code lesbar gestalten – damit Sie auch in drei Monaten noch wissen, was Sie heute gemeint haben.
Funktionen verschachteln und komplexe Berechnungen anstellen, kann viele und lange Zeilen Quelltext entstehen lassen. Wenn Sie zum Beispiel einen Vektor mit Ihren drei Lieblingssongs erzeugen wollen, kann das schon umfangreich werden. Glücklicherweise dürfen Sie in R Zeilen an beliebiger Stelle umbrechen. So können Sie vermeiden, dass Sie den Cursor jedes Mal ganz nach rechts bewegen müssen, um die ganze Zeile zu lesen.
Beim Zeilenumbruch benötigt R keinen besonderen Hinweis. Es geht davon aus, dass die Anweisung noch nicht beendet ist, wenn Ihr Code darauf schließen lässt. Schreiben Sie also Code, bei dem kein Zweifel besteht, ob die Anweisung beendet ist oder nicht. Insbesondere können Sie Folgendes tun:
Sie können Anführungsstriche setzen, um den Beginn eines Texts zu kennzeichnen. R interpretiert alle nachfolgenden Zeichen, die Zeilenumbrüche eingeschlossen, als Teil des Texts – bis zum nächsten Anführungszeichen.
Sie können die unvollständige Zeile mit einem Operator enden lassen (wie +, /, <- und so weiter). Dann weiß R, dass noch Code folgen muss. So können Sie Struktur in längere Berechnungen bringen.
Sie können öffnende Klammern für eine Funktion setzen. Bis zur schließenden Klammer interpretiert R alles als eine Zeile. So können Sie zum Beispiel die Argumente der Funktion untereinander schreiben.
Das folgende kleine Skript zeigt Ihnen alle diese Techniken:
koerbe.von.Margarete <- c(5, 3, 2, 2, 12, 9) Anfang <- "Wahnsinn! Die Super-Omas haben in denletzten sechs Spielen"Ende <- "Koerbe geworfen!" Koerbe.gesamt <- koerbe.von.Oma + koerbe.von.Margarete Text <- paste(Anfang, sum(Koerbe.gesamt), Ende)cat(Text)
Diesen Code können Sie in eine Skriptdatei kopieren und an die Konsole senden. Der Codeabschnitt bringt die folgende Ausgabe in der Konsole hervor:
Wahnsinn! Die Super-Omas haben in den
letzten sechs Spielen 71 Koerbe geworfen!
Damit sehen Sie auch sofort, was die Funktion cat()
bewirkt. Sie schreibt alles, was Sie ihr als Argument übergeben, in die Konsole. Sie erkennt auch Sonderzeichen wie Zeilenumbrüche und Tabulatoren. Wenn Sie sich den Vektor Text
ansehen, fällt Ihnen das Sonderzeichen auf.
> Text
[1] "Wahnsinn! Die Super-Omas haben in den\nletzten sechs Spielen 71 Koerbe geworfen!"
Das \n
steht für einen Zeilenvorschub. Obwohl es direkt vor dem l
steht, erkennt R es dank des Backslashs als eigenes (Sonder-)Zeichen. (Mehr Informationen zu Sonderzeichen erhalten Sie in Kapitel 12.)
Das Ganze funktioniert auch in der Anweisungszeile. Wenn Sie innerhalb einer Anweisung die
-Taste drücken, ändert R die Eingabeaufforderung in ein +
-Zeichen. So zeigt es an, dass die Anweisung weitergeht:
> cat("Wenn Sie daran zweifeln,
+ probieren Sie es einfach.")
Wenn Sie daran zweifeln,
probieren Sie es einfach.
RStudio fügt einer cat()
-Anweisung automatisch einen Zeilenumbruch am Ende hinzu, wenn keiner da ist. R selbst tut das nicht. Wenn Sie also nicht RStudio verwenden, vergessen Sie nicht den Zeilenvorschub ( \n
) am Ende des Texts.
Häufig wollen Sie Ihrem Skript etwas zusätzliche Information mitgeben. Vielleicht wollen Sie angeben, wer das Skript erstellt hat und wann. Möglicherweise wollen Sie auch sagen, was das Skript tut und was die Variablennamen bedeuten .
Dies alles können Sie nach der Raute ( #
) eingeben. Alles, was nach der Raute kommt, wird von R ignoriert. Dabei spielt es keine Rolle, ob Sie die Raute am Anfang einer Zeile oder irgendwo mittendrin platzieren. Lassen Sie das folgende Skript laufen und schauen Sie, was passiert:
#Die Super-Omas haben es wieder geschafft!
koerbe.von.Oma <- c(12,4,4,6,9,3) # Oma ist die Beste.
sum(koerbe.von.Oma) # Koerbe insgesamt
In R gibt es keine spezielle Anweisung für Zeilen übergreifende Kommentare. Verwenden Sie für diesen Fall am Anfang jeder Zeile die Raute ( #
). In RStudio markieren Sie die gewünschten Zeilen und geben
+
ein. Für andere Editoren gibt es ähnliche Tastaturkürzel.
Alle bisher von Ihnen verwendeten Funktionen sind Teil der Basisinstallation von R. Der wirkliche Trumpf von R ist jedoch, dass jeder seine eigenen Funktionen schreiben und anschließend organisiert der Öffentlichkeit zur Verfügung stellen kann. Viele kompetente Autoren haben auf diese Weise sehr praktische Funktionen zum R-Universum beigesteuert, häufig zusammen mit der Publikation der zugehörigen mathematischen Methode. Die meisten Autoren publizieren ihren Code in Form von Paketen (englisch package ). Ein Paket enthält Code, Hilfeseiten, Datensätze, Testfälle und so weiter. In diesem Abschnitt erfahren Sie, wie Sie Pakete finden und installieren.
Читать дальше