R (Programmiersprache)
| R | |
|---|---|
| Maintainer | R Development Core Team |
| Entwickler | The R Foundation for Statistical Computing |
| Aktuelle Version | 3.0.1 (16. Mai 2013) |
| 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 September, 2012) belegt R Platz 24 knapp hinter Matlab (Platz 20) und SAS (Platz 23).[3]
Inhaltsverzeichnis |
Geschichte[Bearbeiten]
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]
Pakete[Bearbeiten]
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 2013) gibt es über 4200 Pakete auf CRAN[5] und über 600 Pakete auf Bioconductor.[6]
Mit PL/R[7][8] kann die Programmiersprache auch als Erweiterung von PostgreSQL zur serverseitigen Programmierung eingesetzt werden.
Das Paket foreign[9] erlaubt es, Datensätze aus anderen Statistikprogrammen wie SPSS oder Stata einzulesen und zu analysieren.
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[10] zur Visualisierungen von multivariaten Daten.[11] ggplot2 ist eine Implementierung von Leland Wilkinsons Grammar of Graphics.[12][13]
Unter der Rubrik Task Views[14] 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.
Benutzeroberfläche[Bearbeiten]
R läuft in einer Kommandozeilenumgebung. Darüber hinaus gibt es eine ganze Reihe grafischer Benutzeroberflächen (GUI), beispielsweise RStudio,[15] Statistiklabor, JGR (Jaguar),[16] RKWard, StatET (Eclipse)[17] und andere.
Zwei grafische Benutzeroberflächen, die als Pakete in R bereitgestellt werden, sind der R-Commander (Paketname: Rcmdr)[18] und relax [19]. Beide bieten, ü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.[20] Relax ist speziell darauf konzipiert die Datenanalyse und Dokumentation der Ergebnisse in einem Dokument zu integrieren (siehe Sweave).
Die plattformunabhängige java-basierte Benutzeroberfläche JGR („Java GUI for R“) ermöglicht eine unterstützte Befehlseingabe, die beispielsweise die Anzahl der Klammern prüft und über eine Autovervollständigkungsfunktion verfügt. Eine zusätzliche hilfreiche Erweiterung stellt das Paket Deducer[21] dar, das Möglichkeiten der Datenbearbeitung durch einen Data Viewer enthält.
Für zahlreiche Editoren wie Tinn,[22] Emacs[23], TextWrangler[24], SubEthaEdit[24] oder Notepad++[25] gibt es R-Erweiterungen.
Beispiel[Bearbeiten]
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.
Als weitergehende Analyse kann man eine lineare 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)
Siehe auch[Bearbeiten]
Literatur[Bearbeiten]
englisch:
- 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 (Online-Version (PDF; 1,7 MB), abgerufen am 29. September 2010).
- Springer Use R! Series
- Kommentierte Bücherliste
- 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.
- John Maindonald: Using R for Data Analysis and Graphics: Introduction, Code and Commentary. 2008 (Online-Version (PDF; 2,5 MB), abgerufen am 22. Juni 2012).
- Peter Dalgaard: Introductory Statistics with R. 2. Auflage. Springer New York, 2008, ISBN 978-0387790534.
- Joseph Adler: R in a Nutshell. O'Reilly Media, 2009, ISBN 978-0596801700.
- Paul Teetor: R Cookbook. O'Reilly Media, 2011, ISBN 978-0596809157.
deutsch:
- Uwe Ligges: Programmieren mit R. 3. Auflage. Springer, Heidelberg 2009, ISBN 978-3-540-79997-9.
- Katharina Manderscheid: Sozialwissenschaftliche Datenanalyse mit R. VS Verlag für Sozialwissenschaften, Wiesbaden 2012, ISBN 978-3-531-17642-0.
- Rainer W. Alexandrowicz: R in 10 Schritten. UTB Facultas Verlags- und Buchhandels AG, 2013, ISBN 978-3-8252-8484-8.
- Joseph Adler: R in a Nutshell. O'Reilly Media, 2010, ISBN 978-3-89721-649-5.Deutsche Übersetzung von Jörg Beyer
Weblinks[Bearbeiten]
- www.r-project.org Offizielle Website zu R mit Informationen, Download-Möglichkeit, Dokumentationen und ähnlichem
- Einführung in R: Analyse und Programmierung, Kurs der Universität Leipzig mit Materialien und Übungen
Einzelnachweise[Bearbeiten]
- ↑ Ashlee Vance: Data Analysts Captivated by R's Power. In: The New York Times, 7. Januar 2009. Abgerufen am 5. Januar 2012.
- ↑ Robert A. Muenchen: The Popularity of Data Analysis Software. In: r4stats.com. 4. Januar 2012. Abgerufen am 5. Januar 2012.
- ↑ TIOBE-RANKING. Abgerufen am 19. September 2012.
- ↑ 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).
- ↑ CRAN – Contributed Packages. Abgerufen am 17. Januar 2013.
- ↑ Bioconductor – Open Source Software for Bioinformatics. Homepage. Abgerufen am 17. Januar 2013.
- ↑ PL/R. Abgerufen am 22. Oktober 2011.
- ↑ 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).
- ↑ [1]
- ↑ 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, 1. Juni 1996, S. 123-155. doi:10.2307/1390777. Abgerufen am 22. Januar 2012.
- ↑ Deepayan Sarkar: Lattice : multivariate data visualization with R. Springer, New York, London 2008, ISBN 9780387759685 0387759689.
- ↑ Leland I Wilkinson: The grammar of graphics. Springer, New York 1999, ISBN 0387987746 9780387987743.
- ↑ Hadley Wickham: ggplot2 : elegant graphics for data analysis. Springer New York, New York, NY 2009, ISBN 9780387981406 0387981403.
- ↑ http://cran.r-project.org/web/views/
- ↑ RStudio
- ↑ JGR (Java)
- ↑ StatET (Eclipse)
- ↑ R-Commander (Paketname: Rcmdr)
- ↑ relax
- ↑ 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).
- ↑ [2]
- ↑ Tinn-R. Homepage. Abgerufen am 23. Januar 2012.
- ↑ ESS – Emacs Speaks Statistics. Homepage. Abgerufen am 23. Januar 2012.
- ↑ a b How to speed up R on Mac OS X with an external editor. Homepage. Abgerufen am 12. Februar 2012.
- ↑ NppToR – R in Notepad++. Homepage. Abgerufen am 23. Januar 2012.