R (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
R
Rlogo.png
Maintainer R Development Core Team
Entwickler The R Foundation for Statistical Computing
Aktuelle Version 2.14.1
(22. Dezember 2011)
Betriebssystem Unixoide, Mac OS, Microsoft Windows
Kategorie Statistik
Lizenz GNU General Public License
Deutschsprachig ja
www.r-project.org

R ist eine freie Programmiersprache für statistisches Rechnen und statistische Grafiken. Sie ist in Anlehnung an die Programmiersprache S entstanden und weitgehend mit dieser kompatibel. Außerdem orientierten sich die Entwickler an der Programmiersprache Scheme.

R ist Teil des GNU-Projekts und auf vielen Plattformen verfügbar. R gilt zunehmend als die statistische Standardsprache sowohl im kommerziellen als auch im wissenschaftlichen Bereich (obwohl vor allem im kommerziellen Bereich SAS ebenfalls sehr populär ist).[1][2] Im aktuellen TIOBE-Index (Jahresindex 2011) belegt R Platz 19 vor Matlab (Platz 23) und SAS (Platz 32).[3]

Inhaltsverzeichnis

[Bearbeiten] Geschichte

R wurde 1992 von Ross Ihaka und Robert Gentleman an der Universität Auckland entwickelt. Sie orientierten sich eng an der in den Bell Laboratories entwickelten Sprache S zur Verarbeitung statistischer Daten, so dass die Mehrzahl der für S geschriebenen Programme auch unter R lauffähig ist. Dabei fand insbesondere die S-Version 4 Berücksichtigung, allerdings wurden die Quelltexte von R neu geschrieben. Eine weitere Inspirationsquelle war die Programmiersprache Scheme. 1993 wurde die Software erstmals öffentlich vorgestellt, seit Juni 1995 steht R unter der GNU General Public License.[4]

[Bearbeiten] Pakete

Der Funktionsumfang von R kann durch eine Vielzahl von Paketen erweitert und an spezifische statistische Problemstellungen angepasst werden. Viele Pakete können dabei direkt aus einer über die R-Console abrufbaren Liste ausgewählt und automatisch installiert werden. Zentrales Archiv für diese Pakete ist das Comprehensive R Archive Network (CRAN). Die Software Bioconductor baut auf R auf und bietet Erweiterungen aus dem Bereich der Bioinformatik, insbesondere der Analyse von Genexpressionsdaten. Aktuell (Stand Januar 2012) gibt es über 3500 Pakete auf CRAN[5] und über 500 Pakete auf Bioconductor.[6]

Mit PL/R[7][8] kann die Programmiersprache auch als Erweiterung von PostgreSQL zur serverseitigen Programmierung eingesetzt werden.

Zwei bekannte Grafikerweiterungen für R sind die Pakete lattice und ggplot2, die durch größere Abstraktion schneller komplexe Grafiken erstellen lassen. lattice ist eine Implementierung der Idee der Trellis Grafiken[9] zur Visualisierungen von multivariaten Daten.[10] ggplot2 ist eine Implementierung von Leland Wilkinsons Grammar of Graphics.[11][12]

Unter der Rubrik "Task Views" enthält CRAN eine Liste von zur Zeit (Stand Januar 2012) 28 Themengebieten (u.a., Bayessche Statistik, Machine Learning, Ökonometrie, Multivariate Statistik und Optimierung) für welche eine kommentierte Beschreibung der für das Themengebiet relevanten Pakete vorhanden ist.

[Bearbeiten] Benutzeroberfläche

R läuft in einer Kommandozeilenumgebung. Darüber hinaus gibt es eine ganze Reihe grafischer Benutzeroberflächen (GUI), beispielsweise RStudio,[13] Statistiklabor, JGR (Jaguar),[14] RKWard, StatET (Eclipse),[15] R Commander (Paketname: Rcmdr)[16] und andere.

Der R Commander (Paketname: Rcmdr) bietet über ein Menüsystem aufrufbar einige wichtige Prozeduren der explorativen und analytischen Statistik. Ebenso können über das Menü Standardgrafiken erzeugt werden. Der R Commander erleichtert das Datenmanagement und hilft beim Schreiben von Auswertskripten. Er ist betriebssystemunabhängig geschrieben.[17]

Für zahlreiche Editoren wie Tinn,[18] Emacs[19], TextWrangler[20], SubEthaEdit[20] oder Notepad++[21] gibt es R-Erweiterungen.

[Bearbeiten] Beispiel

Als einfaches Beispiel soll der Korrelationskoeffizient zweier Datenreihen berechnet werden:

# Groesse wird als numerischer Vektor 
# durch den Zuweisungsoperator "<-" definiert:
Groesse <- c(176, 166, 172, 184, 179, 170, 176)
 
# Gewicht wird als numerischer Vektor definiert:
Gewicht <- c(65, 55, 67, 82, 75, 65, 75)
 
# Berechnung des Korrelationskoeffizienten nach Pearson:
cor(Gewicht, Groesse, method = "pearson")

Als Ergebnis erhält man 0.9295038. Text nach dem Doppelkreuz „#“ wird vom R-Interpreter als Kommentar behandelt.

Grafikausgabe des Beispiels

Eine ähnliche Analyse kann man auch in Form einer linearen Regression durchführen. Dies kann in R durch den lm-Befehl ausgeführt werden, wobei die abhängige Variable von den unabhängigen Variablen durch eine Tilde „~“ getrennt wird. Der summary-Befehl gibt dann die Koeffizienten der Regression und weitere Statistiken hierzu aus:

# Lineare Regression mit Gewicht als Zielvariable
# Ergebnis wird als reg gespeichert:
reg <- lm(Gewicht~Groesse)
 
# Ausgabe der Ergebnisse der obigen linearen Regression:
summary(reg)

Diagramme lassen sich sehr einfach erzeugen:

# Punktdiagramm der Daten:
plot(Gewicht~Groesse)
# Regressionsgerade:
abline(reg)

[Bearbeiten] Literatur

  • Ross Ihaka, Robert Gentleman: R: A Language for Data Analysis and Graphics. In: Journal of Computational and Graphical Statistics. 5, Nr. 3, American Statistical Association, Institute of Mathematical Statistics, Interface Foundation of North America, Alexandria, Virginia 1996, ISSN 1061-8600, S. 299–314 ("http://www.stat.auckland.ac.nz/~ihaka/downloads/R-paper.pdf", abgerufen am 29. September 2010).
  • Uwe Ligges: Programmieren mit R. 3. Auflage. Springer, Heidelberg 2009, ISBN 978-3-540-79997-9.
  • William N. Venables, Brian D. Ripley: Modern Applied Statistics with S. 4. Auflage. Springer, New York 2002, ISBN 978-0-387-95457-8.
  • John Verzani: Using R for introductory statistics. Chapman & Hall/CRC, Boca Raton, FL 2005, ISBN 978-1584884507.

[Bearbeiten] Weblinks

Wikibooks Wikibooks: GNU R – Lern- und Lehrmaterialien
 Commons: R (programming language) – Sammlung von Bildern, Videos und Audiodateien

[Bearbeiten] Einzelnachweise

  1. Ashlee Vance: Data Analysts Captivated by R's Power. In: The New York Times, 7. Januar 2009. Abgerufen am 5. Januar 2012. 
  2. Robert A. Muenchen (4. Januar 2012): The Popularity of Data Analysis Software. r4stats.com. Abgerufen am 5. Januar 2012.
  3. David Smith (16. Januar 2012): R jumps from 25 to 19 in annual TIOBE rankings of programming language popularity. Revolutions.
  4. Ross Ihaka: R: Past and Future History. A Draft of a Paper for Interface ’98. In: Sanford Weisberg (Hrsg.): Proceedings of the 30th Symposium on the Interface. The Interface Foundation of North America, 1998, S. 392–396 (http://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf, abgerufen am 29. September 2010).
  5. CRAN - Contributed Packages. Abgerufen am 23. Januar 2012.
  6. Bioconductor - Open Source Software for Bioinformatics. Homepage. Abgerufen am 23. Januar 2012.
  7. PL/R. Abgerufen am 22. Oktober 2011.
  8. Philipp L. Rautenberg, Andrey Sobolev, Andreas V.M. Herz, and Thomas Wachtler: A Database System for Electrophysiological Data. Springer-Verlag;Large-Scale Data and Knowledge Centered Systems IV,, 2011, abgerufen am 26. Oktober 2011 (englisch, e-ISBN 978-3-642-23740-9).
  9. Richard A. Becker, William S. Cleveland, Ming-Jen Shyu: The Visual Design and Control of Trellis Display. In: Journal of Computational and Graphical Statistics. 5, Nr. 2, 1996-06-01, S. 123-155. doi:10.2307/1390777. Abgerufen am 22. Januar 2012.
  10. Deepayan Sarkar: Lattice : multivariate data visualization with R. New York; [London]: Springer 2008, ISBN 9780387759685 0387759689
  11. Leland I Wilkinson: The grammar of graphics. New York: Springer 1999, ISBN 0387987746 9780387987743
  12. Hadley Wickham: ggplot2 : elegant graphics for data analysis. New York, NY: Springer New York 2009, ISBN 9780387981406 0387981403
  13. RStudio
  14. JGR (Java)
  15. StatET (Eclipse)
  16. R Commander (Paketname: Rcmdr)
  17. John Fox: The R Commander: A Basic-Statistics Graphical User Interface to R. In: Journal of Statistical Software. 14, Nr. 9, 19. August 2005, ISSN 1548-7660, S. 1–42 (http://www.jstatsoft.org/v14/i09/paper, abgerufen am 29. September 2010).
  18. Tinn-R. Homepage. Abgerufen am 23. Januar 2012.
  19. ESS - Emacs Speaks Statistics. Homepage. Abgerufen am 23. Januar 2012.
  20. a b How to speed up R on Mac OS X with an external editor. Homepage. Abgerufen am 12. Februar 2012.
  21. NppToR - R in Notepad++. Homepage. Abgerufen am 23. Januar 2012.
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen