Skip to main content

R als Programmiersprache

  • Chapter
  • First Online:
Grundlagen der Datenanalyse mit R

Part of the book series: Statistik und ihre Anwendungen ((STATIST))

  • 7433 Accesses

Zusammenfassung

R bietet nicht nur Mittel zur numerischen und grafischen Datenanalyse, sondern ist gleichzeitig eine Programmiersprache, die dieselbe Syntax wie die bisher behandelten Auswertungen verwendet. Das sehr umfangreiche Thema der Programmierung mit R soll in den folgenden Abschnitten nur soweit angedeutet werden, dass nützliche Sprachkonstrukte wie z. B. Kontrollstrukturen verwendet sowie einfache Funktionen selbst erstellt und analysiert werden können.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Für Hilfe zu diesem Thema vgl. ?Control.

  2. 2.

    Mit der Einstellung erzeugt ein Vektor von Wahrheitswerten als Bedingung in if() einen Fehler. In einer zukünftigen Version von R kann dies zur Voreinstellung werden.

  3. 3.

    Mit  können damit schnell viele Befehlszeilen von der Verarbeitung ausgeschlossen werden, ohne diese einzeln mit # auskommentieren zu müssen. Die ausgeschlossenen Zeilen müssen dabei jedoch nach wie vor syntaktisch korrekt, können also keine Kommentare im engeren Sinne sein.

  4. 4.

    Allgemein gilt, dass in einer Zeile stehende Befehle einen Block bilden und zusammen ausgeführt werden. Geschweifte Klammern sorgen dafür, dass die zwischen ihnen stehenden Befehle auch dann als einzelner Block gewertet werden, wenn sie sich über mehrere Zeile erstrecken. Die Auswertung erfolgt erst, wenn die Klammer geschlossen wird, auch wenn Abschnitte davor bereits für sich genommen syntaktisch vollständig sind.

  5. 5.

    Anders als in kompilierten Programmiersprachen wie etwa C oder Fortran sind Schleifen in R als interpretierter Sprache oft ineffizient. Als Grundregel sollten sie deswegen bei der Auswertung größerer Datenmengen nach Möglichkeit vermieden und durch vektorisierte Befehle ersetzt werden, die mehrere, als Vektor zusammengefasste Argumente gleichzeitig bearbeiten (Ligges und Fox 2008).

  6. 6.

    Die aufgerufene Funktion kann nur Kopien der ursprünglichen Objekte, nicht aber die Objekte selbst ändern, da Argumente als Wertparameter (call by value) übergeben werden.

  7. 7.

    Dies sind lokale Objekte, sie existieren in einer beim Funktionsaufruf eigens erstellten Umgebung (Abschn. 1.4.1). Für das in diesem Kontext relevante, aber komplexe Thema der Regeln für die Gültigkeit von Objekten (scoping) vgl. Chambers (2016).

  8. 8.

    Bis zur Auswertung ist das Argument ein promise. Für gewöhnliche Zuweisungen an Objekte gilt dagegen das Eager-Evaluation-Prinzip, nach dem der Inhalt von neuen Objekten schon bei der Zuweisung ausgewertet wird. Um auch für diese Objekte das Lazy-Evaluation-Prinzip zu nutzen, muss  delayedAssign() verwendet werden.

  9. 9.

    Für einfache, nur zum eigenen Gebrauch bestimmte Funktionen mag dies überflüssig erscheinen, da man dann selbst darauf achten kann, sie korrekt zu verwenden. Allerdings ist dies gefährlich, da sich Funktionen durch andere als die vorgesehenen Eingangsinformationen stillschweigend anders als beabsichtigt verhalten können und so u. U. schwer entdeckbare Fehler verursachen (Abschn. 17.3.6).

  10. 10.

    Für S4-Methoden analog sowie .

  11. 11.

    Entwicklungsumgebungen wie RStudio (Abschn. 1.1.4) bieten grafische Oberflächen, die das debugging sehr erleichtern.

  12. 12.

    Operatoren sind in rückwärts gerichtete Hochkommata zu setzen, etwa ‘+‘ für die Addition.

  13. 13.

    Für S4-Methoden analog.

  14. 14.

    Für S4-Methoden analog .

  15. 15.

    Unter https://github.com/wch/r-source/ kann eine Kopie des Quelltext online gelesen und durchsucht werden.

  16. 16.

    https://r-pkg.org/ verlinkt für jedes Paket auf CRAN eine URL, unter der der Quelltext eines Pakets online gelesen und durchsucht werden kann.

  17. 17.

    Eine Erweiterung liefert das Paket  bench (Hester 2020).

  18. 18.

    Allerdings sorgen die Besonderheiten der fork Technik für mögliche Probleme, insbesondere sollte R dann nicht innerhalb von RStudio oder einer anderen grafischen Entwicklungsumgebung laufen. Details erläutert ?mclapply.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Wollschläger .

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Wollschläger, D. (2020). R als Programmiersprache. In: Grundlagen der Datenanalyse mit R. Statistik und ihre Anwendungen. Springer Spektrum, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-61736-6_17

Download citation

Publish with us

Policies and ethics