R (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
R
Logo

Logo seit 2015

Basisdaten
Paradigmen: funktional, dynamisch, objektorientiert
Erscheinungsjahr: August 1993[1]
Designer: Ross Ihaka[2], Robert Gentleman[2]
Entwickler: R Core Team
Aktuelle Version 4.4.2[3] (31. Oktober 2024)
Typisierung: dynamisch, implizit, schwach
Beeinflusst von: S, Scheme
Beeinflusste: Julia
Betriebssystem: Unix-artig (inkl. macOS, Linux), Mac OS, Windows
Lizenz: GNU GPL
www.r-project.org

R ist eine freie Programmiersprache für statistische Berechnungen und Grafiken. Sie wurde 1992 von Statistikern für Anwender mit statistischen Aufgaben neu entwickelt. Die Syntax orientiert sich an der Programmiersprache S, mit der R weitgehend kompatibel ist, und die Semantik an Scheme. Als Standarddistribution und Referenzimplementierung wird R mit einem Interpreter als Kommandozeilenumgebung mit reduzierten grafischen Schaltflächen vom R Project selbst angeboten. So ist R aktuell auf den wichtigsten Plattformen verfügbar; die Umgebung wird von den Entwicklern ausdrücklich ebenfalls als R bezeichnet. R ist Teil des GNU-Projekts. Viele integrierte Entwicklungsumgebungen unterstützten R und erhöhen so die Benutzerfreundlichkeit, beispielsweise RStudio.

Zahlreiche online abrufbare Pakete enthalten zusätzliche Funktionen, um Daten hinsichtlich Fragestellungen aus unterschiedlichen Fachbereichen zu analysieren; weitere eigene Funktionen können erstellt werden. Die Sprache bietet Schnittstellen zu anderen Programmiersprachen und Möglichkeiten zur Integration in verschiedene Software. R grenzt sich in mehrerer Hinsicht von anderen bekannten Statistik-Umgebungen ab und ist nicht mehr ausschließlich als Statistiksoftware zu bezeichnen. Obwohl andere, heutzutage mit grafischen Benutzeroberflächen versehene Statistik-Umgebungen wie SPSS ebenfalls als spezialisierte Programmiersprachen begannen (und diese Fähigkeit bis heute beibehalten), fokussiert sich R auf seine Stärke als Statistik-orientierte Programmiersprache. R grenzt sich von anderen Programmiersprachen durch die für Statistik entworfenen Datenstrukturen und Funktionen sowie die besonderen Möglichkeiten bei der Grafikerzeugung ab.

R gilt als eine Standardsprache für statistische Problemstellungen sowohl in der Wirtschaft als auch in der Wissenschaft.[4][5][6][7][8] Im TIOBE-Index belegt R Platz 21,[9] im Ranking von RedMonk Platz 12,[10] bei PYPL Platz 6[11] und beim Institute of Electrical and Electronics Engineers Platz 11.[12]

Ursprünge (1992)

[Bearbeiten | Quelltext bearbeiten]
Ross Ihaka (2010)

R wurde 1992 von den Statistikern Ross Ihaka und Robert Gentleman an der Universität Auckland entwickelt. Sie orientierten sich eng an der in den Bell Laboratories (heute Teil von Alcatel-Lucent und somit Nokia) entwickelten Sprache S, die zur Verarbeitung statistischer Daten dient. R kann als freie Implementierung von S angesehen werden. Daher ist die Mehrzahl der für S geschriebenen Programme unter R lauffähig. Der Name der Sprache ist auf den Anfangsbuchstaben der Vornamen der Entwickler (Ross Ihaka und Robert Gentleman) zurückzuführen und zudem in Anlehnung an S entstanden.[13]

S hatte eine andere Herangehensweise als bisherige Software für Statistik. Mit S konnten Daten schneller explorativ untersucht werden und passende Grafiken erstellt werden, während Analysefunktionen zu Beginn der 1990er Jahre noch nicht umfangreich implementiert waren.[14] Das Unternehmen Statistical Sciences, Inc. erwarb eine alleinige Lizenz für die Verbreitung von S-Software ab 1993.[15] Ihaka und Gentleman mochten die Herangehensweise und Möglichkeiten, die S für statistische Fragestellungen bot (damalige Version: S3). Sie bemängelten die Scoping-Fähigkeiten von S, bei denen klar zwischen lokalen und globalen Variablen unterschieden wurde und insbesondere die Speicherverwaltung, die ohne Garbage Collection zu schnellem Anwachsen des dynamischen Speichers führte. Sie wollten diese Eigenschaften in ihren Forschungsprojekten nutzen und zudem schneller und flexibler neue analytische Verfahren implementieren, ohne auf die S-Entwickler angewiesen zu sein. Daher erschufen sie R. Ein weiterer Vorteil war der verfügbare Quelltext, sodass sie R anschaulich für Lehrzwecke an der Universität einsetzen konnten.[16][17]

Die Entwickler schrieben zuerst einen Interpreter für Scheme und wandelten die Sprache soweit ab, dass sie S ähnelte. Die Programmierung von R fand in C (sogenannte primitive Funktionen), Fortran (zum Beispiel BLAS und LAPACK für numerische lineare Algebra) und darauf aufbauend in R selbst statt. 2011 bestand der Quelltext der Standardbibliothek zu 22 % aus R-Code, während 52 % beziehungsweise 26 % aller Programmzeilen in C und Fortran geschrieben waren.[18]

Wachstum von Sprache und Community (1993–2000)

[Bearbeiten | Quelltext bearbeiten]
Erstes Logo

1993 wurde die Sprache erstmals öffentlich verbreitet: Die Designer luden Binärdateien ihrer bisherigen Arbeit in der Sektion StatLib der Carnegie Mellon University hoch, welches eine Sammelstelle und ein Distributionskanal für statistische Software war und erhofften sich Feedback. Zudem gab es separate Bekanntmachungen an Personen, die sich enger mit S befassten. Martin Mächler[19] von der ETH Zürich war einer der Feedbackgebenden. Er ermunterte Ihaka und Gentleman zudem zur freien Distribution von R, sodass die Sprache seit Juni 1995 unter der GNU General Public License steht.[20] Bis 1996 oder 1997 gab es zwischen 50 und 100 Leute in einer Mailingliste, die dabei halfen, die Sprache gemeinsam zu verbessern.[17] Einige nutzten das zeitgleich sich verbreitende Betriebssystem Linux, wofür R die einzige Statistikumgebung war.[21] Im Jahr 1997 wurde das R Development Core Team gebildet (heute R Core Team), das sich um die Weiterentwicklung von R kümmert und den Quellcode verändern kann. Mittlerweile zählen zwanzig Personen zu diesem engsten Entwicklerteam um Ross Ihaka und Robert Gentleman. Das Comprehensive R Archive Network (CRAN) als Plattform für Pakete startete am 23. April 1997, um Anwendern die Möglichkeit zu geben, selbst geschriebene Funktionen leichter mit Anderen zu teilen. Der älteste öffentlich verfügbare Quelltext für Unixoide fällt auf dieses Datum; die Alpha-Versionen für Windows und Mac (damals für das klassische Mac OS) erschienen kurze Zeit später. Am 29. Februar 2000 wurde die vom R Development Core Team als stabil betrachtete Version 1.0 veröffentlicht.

Performance-Optimierung (seit 2001)

[Bearbeiten | Quelltext bearbeiten]

Seit April 2001 gibt es R für macOS, dem Nachfolgebetriebssystem des klassischen Mac OS. Im September 2002 gründeten die Mitglieder des R Development Core Teams den gemeinnützigen Verein The R Foundation for Statistical Computing in Wien, welcher sich um die Außendarstellung kümmert.

Die R-Version 2.0 wurde am 4. Oktober 2004 veröffentlicht. Seitdem nutzt R Lazy Loading, um Daten bei geringer Beanspruchung des Arbeitsspeichers schnell laden zu können. Ab Version 2.1 (18. April 2005) unterstützt R unterschiedliche Sprachversionen (Internationalisierung) und Zeichenkodierungen, insbesondere UTF-8.

In der Folge gab es einige Verbesserung der Performance. Dazu zählt die Einführung von Version 2.11 im April 2010, die R auf 64-Bit-Systemen nutzbar macht und bis zu acht Terabyte Arbeitsspeicher adressieren kann. Zusätzlich erschien mit der Version 2.13 das Paket compiler, welches in R geschriebene Funktionen zu Bytecode kompilieren kann und einen Just-in-time-Compiler enthält; mittlerweile sind die bereits existierenden, nicht vom Benutzer geschriebenen Funktionen bereits als Bytecode vorhanden. Zudem wurde im Oktober 2011 (Version 2.14) grobkörnige Nebenläufigkeit für parallele Ausführung von Funktionen eingeführt. Ab Version 3.0 (April 2013) sind Indexwerte von 231 und größer auf 64-Bit-Systemen möglich.[22]

Die Versionsnummern von R bestehen aus drei durch Punkte voneinander getrennten Zahlen. Grundlegende Änderungen werden durch eine Erhöhung der ersten Zahl angezeigt, normale durch eine Erhöhung der zweiten Zahl. Die dritte Zahl wird bei neuen Versionen erhöht, die vorwiegend der Behebung von Bugs dienen. Seit R-Version 2.14.0 hat jede Version zusätzlich einen Codenamen, der aus den Benennungen der Peanuts-Comics und -Filme stammt,[23] wie Version 3.3.1: „Bug in Your Hair“ oder Version 4.0.3: „Bunny-Wunnies Freak Out“.

Versionsnummer Erscheinungsdatum Codename Kommentar
0.49 23.4.1997 Start von CRAN, erste öffentliche Unix-Version von R (Paket base)
0.60 5.12.1997
0.61 21.12.1997
0.61.1 11.1.1998
0.61.2 17.3.1998
0.61.3 2.5.1998
0.62 14.6.1998
0.62.1 15.6.1998
0.62.2 10.7.1998
0.62.3 28.8.1998
0.62.4 23.10.1998
0.63 13.11.1998
0.63.1 4.12.1998
0.63.2 11.1.1999
0.63.3 5.3.1999
0.64.0 7.4.1999
0.64.1 7.5.1999
0.64.2 2.7.1999
0.65.0 27.8.1999
0.65.1 6.10.1999 Möglichkeit Pakete aus R heraus von CRAN zu installieren
0.90.0 22.11.1999 Hinzufügung des Pakets splines für glättende Regressions-Splines und interpolierende Splines
0.90.1 15.12.1999
0.99.0 7.2.2000
1.0.0 29.2.2000 erste von den Entwicklern als stabil betrachtete Version
1.0.1 14.4.2000
1.1.0 15.6.2000 Hinzufügung des Pakets tcltk um auf das Tk-Toolkit zur Erstellung von grafischen Benutzeroberflächen zugreifen zu können
1.1.1 15.8.2000
1.2.0 15.12.2000 überarbeitetes Speicherverwaltungssystem mit generationellem Garbage Collector
1.2.1 15.1.2001
1.2.2 26.2.2001
1.2.3 26.4.2001 erste Version für macOS
1.3.0 22.6.2001
1.3.1 31.8.2001
1.4.0 19.12.2001 Hinzufügung der Pakete methods, welches S4-Methoden bereitstellt, und tools zur Paketentwicklung und -verwaltung
1.4.1 30.1.2002
1.5.0 29.4.2002
1.5.1 17.6.2002
1.6.0 1.10.2002
1.6.1 1.11.2002
1.6.2 10.1.2003
1.7.0 16.4.2003
1.7.1 16.6.2003
1.8.0 8.10.2003 Hinzufügung des Pakets grid für bessere Steuerung der Position von Grafiken in Output-Dateien
1.8.1 21.11.2003
1.9.0 12.4.2004 die Pakete graphics (Grafiken), stats (Statistik-Funktionen) und utils (Programmier- und Entwicklerwerkzeuge) lösen sich aus dem Paket base (wichtigste R-Funktionen); die bisherigen Pakete ctest, eda, modreg, mva, nls, stepfun und ts werden ins neu geschaffene Paket stats verschoben, mle ins neu geschaffene Paket stats4 (statistische Funktionen für S4-Klassen); lqs ist nur noch empfohlener Bestandteil der Standardbibliothek
1.9.1 21.6.2004
2.0.0 4.10.2004 Unterstützung von Lazy Loading; das Paket grDevices löst sich aus graphics um den Schritt der Datenvisualisierung von der Output-Datei zu trennen; Hinzufügung des Pakets datasets, welches Beispieldatensätze enthält
2.0.1 15.11.2004
2.1.0 18.4.2005 Unterstützung verschiedener Zeichenkodierungen, Beginn mehrerer Sprachversionen
2.1.1 20.6.2005
2.2.0 6.10.2005
2.2.1 20.12.2005
2.3.0 24.4.2006
2.3.1 1.6.2006
2.4.0 3.10.2006
2.4.1 18.12.2006
2.5.0 24.4.2007
2.5.1 28.6.2007
2.6.0 3.10.2007
2.6.1 26.11.2007
2.6.2 8.2.2008
2.7.0 22.4.2008
2.7.1 23.6.2008
2.7.2 25.8.2008
2.8.0 20.10.2008
2.8.1 22.12.2008
2.9.0 17.4.2009
2.9.1 26.6.2009
2.9.2 24.8.2009
2.10.0 26.10.2009
2.10.1 14.12.2009
2.11.0 22.4.2010 64-Bit R
2.11.1 31.5.2010
2.12.0 15.10.2010 Hinzufügung von Referenzklassen
2.12.1 16.12.2010
2.12.2 25.2.2011
2.13.0 13.4.2011 Hinzufügung des Pakets compiler, welches eines Bytecode-Compiler bereitstellt
2.13.1 8.7.2011
2.13.2 30.9.2011
2.14.0 31.10.2011 Great Pumpkin Hinzufügung des Pakets parallel, wodurch grobkörnige Nebenläufigkeit möglich wird
2.14.1 22.12.2011 December Snowflakes
2.14.2 29.2.2012 Gift-Getting Season
2.15.0 30.3.2012 Easter Beagle
2.15.1 22.6.2012 Roasted Marshmallows
2.15.2 26.10.2012 Trick or Treat
2.15.3 1.3.2013 Security Blanket
3.0.0 3.4.2013 Masked Marvel Unterstützung von Indexwerten größer 231
3.0.1 16.5.2013 Good Sport
3.0.2 25.9.2013 Frisbee Sailing
3.0.3 6.3.2014 Warm Puppy
3.1.0 10.4.2014 Spring Dance
3.1.1 10.7.2014 Sock it to Me
3.1.2 31.10.2014 Pumpkin Helmet
3.1.3 9.3.2015 Smooth Sidewalk
3.2.0 16.4.2015 Full of Ingredients Einige Konzepte aus pqR, einer beschleunigten Abart des R-Interpreters, wurden in R eingepflegt. Besseres Handling von großen Objekten im Arbeitsspeicher.
3.2.1 18.6.2015 World-Famous Astronaut
3.2.2 14.8.2015 Fire Safety
3.2.3 10.12.2015 Wooden Christmas-Tree
3.2.4 10.3.2016 Very Secure Dishes
3.2.5 14.4.2016 Very, Very Secure Dishes
3.3.0 3.5.2016 Supposedly Educational R kann jetzt auf allen Plattformen via HTTPS Dateien herunterladen. Neue Funktion sigma, welche aus verschiedenen statistischen Modellen die residual standard deviation berechnet. Einige Grundfunktionen (wie match) wurden neu implementiert und beschleunigt.
3.3.1 21.6.2016 Bug in Your Hair
3.3.2 31.10.2016 Sincere Pumpkin Patch
3.3.3 6.3.2017 Another Canoe
3.4.0 21.4.2017 You Stupid Darkness Der Just-In-Time-Byte-Code-Compiler ist standardmäßig aktiviert
3.4.1 30.6.2017 Single Candle
3.4.2 28.9.2017 Short Summer
3.4.3 30.11.2017 Kite-Eating Tree
3.4.4 15.03.2018 Someone to Lean On
3.5.0 23.04.2018 Joy in Playing ALTREP Framework standardmäßig aktiviert (alternative Repräsentation von R Objekten)
3.5.1 02.07.2018 Feather Spray
3.5.2 20.12.2018 Eggshell Igloo
3.5.3 26.03.2019 Great Truth
3.6.0 26.04.2019 Planting of a Tree
3.6.3 29.2.2020 Holding the Windsock 20. Geburtstag von R 1.0
4.0.0 24.04.2020 Arbor Day Als größte Neuerung werden nun alle Referenzen gezählt, so dass R-Programme effizienter mit dem Arbeitsspeicher umgehen. Matrizen werden nun konsistent als (zweidimensionale) Arrays implementiert. Für die Erstellung von Grafiken wurde die Farbpalette verbessert, so dass nun verschiedene Farbtöne dieselbe Luminanz aufweisen.[24]
4.0.1 2020-06-06 See Things Now
4.0.2 2020-06-22 Taking Off Again
4.0.3 2020-10-10 Bunny-Wunnies Freak Out
4.0.4 2021-02-15 Lost Library Book
4.0.5 2021-03-31 Shake and Throw
4.1.0 2021-05-18 Camp Pontanezen
4.1.1 2021-08-10 Kick Things
4.1.2 2021-11-01 Bird Hippie
4.1.3 2022-03-10 One Push-Up
4.2.0 2022-04-22 Vigorous Calisthenics
4.2.1 2022-06-23 Funny-Looking Kid
4.2.2 2022-10-31 Innocent and Trusting
4.2.3 2023-03-15 Shortstop Beagle
4.3.0 2023-04-21 Already Tomorrow
4.3.1 2023-06-16 Beagle Scouts
4.3.2 2023-10-31 Eye Holes
4.3.3 2024-02-29 Angel Food Cake
4.4.0 2024-04-24 Puppy Cup
4.4.1 2024-06-14 Race for Your Life

R muss nicht kompiliert werden und bringt Benutzereingaben in der Kommandozeilenkonsole nach Betätigen der Enter-Taste unmittelbar zur Ausführung. Es lassen sich zudem Programme in Skripten ausführen. Im Folgenden wird auf die Programmierparadigmen, Syntax und Datentypen eingegangen sowie die Dateiformate und Funktionalitäten der Standard-Version genannt:[25][26][27]

Programmierparadigmen

[Bearbeiten | Quelltext bearbeiten]

R ist eine Multiparadigmensprache der vierten Generation. Der kanadische Statistiker John M. Chambers, der S mitentwickelt hat, fasst die Funktionsweise von R folgendermaßen zusammen:

“To understand computations in R, two slogans are helpful: Everything that exists is an object. Everything that happens is a function call.”

„Um Berechnungen in R zu verstehen sind zwei Sätze hilfreich: Alles, was existiert, ist ein Objekt. Alles, was passiert, ist ein Funktionsaufruf.“

John M. Chambers[28]

Das funktionale Herz ist von Scheme und Haskell inspiriert. Funktionen können als First-Class-Objekte neu erstellt, unter anderem Namen gespeichert, überschrieben (sie sind somit keine Schlüsselworte) und ihrerseits an andere Funktionen übergeben werden (Closures). Es ist möglich, Funktionen zu benennen oder anonym zu deklarieren (Lambda-Funktionen). Einige Funktionen sind dazu geschaffen, vektorwertig ausgeführt zu werden; für Rekursion wurde nicht optimiert. Viele Funktionen arbeiten unterschiedlich in Abhängigkeit vom Input (Reflexion). Oft gibt es notwendige Argumente für Funktionen (beispielsweise Daten), meistens weitere, optionale Argumente. Argumente können in Abhängigkeit anderer Argumente definiert werden. Argumente werden per deep copy übergeben. Die Namen der jeweiligen Funktionsparameter können beim Funktionsaufruf abgekürzt werden, sodass sie eindeutig sind oder weggelassen werden, sofern die Reihenfolge der Argumente mit derjenigen der Funktionsparameter übereinstimmt. Darüber hinaus gibt es die Möglichkeit beim Erstellen neuer Funktionen für Funktionsparameter Standardwerte zu setzen. Auch Currying ist möglich. Sofern nicht anders spezifiziert, ist das zuletzt zugewiesene Objekt innerhalb einer Funktion ihr Rückgabewert. Insgesamt bestehen Funktionen aus den Komponenten Argumente, Körper und Umgebung. Für die Funktionsweise von Funktionen ist die Umgebung entscheidend, in der sie erstellt wurde, nicht die, aus der sie aufgerufen wird. Dieses Lexical Scoping ist eine der Eigenschaften von Scheme, die in R übernommen wurde und in den anderen S-Implementierungen nicht existiert. Neu erstellte Objekte befinden sich in der Umgebung, in der sie erschaffen wurden, und jeder auszuwertende Ausdruck kann durch sein Ergebnis ersetzt werden (referenzielle Transparenz). R verwendet Lazy Evaluation, das heißt Code wird erst ausgewertet, wenn er benötigt wird (call by need). R kann daher mit Futures umgehen, was es darüber hinaus ermöglicht Funktionen ineinander zu verschachteln und unbegrenzte Datenstrukturen zu erstellen. Berechnungen auf symbolischer Ebene sind standardmäßig kein Bestandteil von R.

R hat zudem Eigenschaften, die für dynamische Programmierung typisch sind. Variablen können flexibel die Struktur verändern. Es ist möglich, Code für noch nicht ausgewertete Ausdrücke zu erhalten. Text kann dynamisch als Code ausgewertet werden. Des Weiteren können Futures mehrfach ausgewertet werden.

R implementiert die in der vierten Version von S hinzugefügten Klassen und Multimethoden für Ad-hoc-Polymorphie, sodass objektorientierte Programmierung möglich wurde. Als Klassensystem mit anderer Herangehensweise wurden Referenzklassen später hinzugefügt (siehe Unterabschnitt Klassen).

Eingelesene Daten speichert R im Hauptspeicher. Die Datenspeicherung erfolgt spaltenorientiert. R nutzt Garbage Collection und Lazy Loading zur Verringerung des Speicherbedarfs. Es gibt kein Aliasing.

R ist case sensitive, unterscheidet also Groß- und Kleinschreibung. Objekte können mit dem Zuweisungsoperator (<- und in vielen Fällen =) erstellt oder überschrieben werden. Für Objektnamen sind alphanumerische Zeichen, Punkt und Unterstrich erlaubt, als erstes Zeichen jedoch nur Buchstaben oder ein Punkt (in letzterem Fall ist das Objekt versteckt). Der Super-Zuweisungsoperator (<<-) weist Variablen der nächsthöheren Umgebung Werte zu und bildet die einzige Möglichkeit, Wirkungen zu erzielen. Funktionen dienen dazu, Variablen zu verändern, miteinander in Beziehung zu setzen, statistische Analysen durchzuführen und mehr. Nach dem Funktionsnamen steht beim Aufruf eine öffnende runde Klammer; die schließende runde Klammer schließt die Funktion ab. Innerhalb der Klammern können der Funktion Argumente übergeben werden, die durch Kommas getrennt werden. Die logischen, mathematischen und Zuweisungsoperatoren sowie Operatoren der Art %...% (dazu zählen alle benutzerdefinierten) werden üblicherweise statt einer Voranstellung zwischen zwei Argumenten platziert. Ein doppelter Doppelpunkt wie in Paket::Funktion() greift auf Funktion aus Paket zu, ohne dass das Paket geladen ist oder zum Suchpfad hinzugefügt wurde. Funktionen, die nacheinander ausgeführt werden sollen, können durch Semikola getrennt werden oder in separate Codezeilen geschrieben werden. Eckige Klammern dienen der Indizierung von Elementen aus Datenstrukturen. Das Dollarzeichen ($) erleichtert – sofern vorhanden – eine Indizierung über Namen, sodass Inhalte assoziativ angesprochen werden können. Geschweifte Klammern legen Programmierblöcke fest. Text nach dem Rautezeichen (#) stellt bis zum Zeilenende einen Kommentar dar. Einrückungen und wiederholter Leerraum haben keinen Einfluss auf die Ausführung von R-Code.

Als Kontrollstrukturen gibt es if, else if, else und das elementweise ifelse sowie switch als bedingte Anweisungen und die Schleifen for (Zähl- und Mengenschleife), while (kopfgesteuert) sowie repeat ... if (Bedingung) break (fußgesteuert). Goto-Sprunganweisungen sind kein Bestandteil von R.

Im Bereich der statistischen Modelle werden bei vielen Verfahren Abhängigkeiten durch Formeln mit Hilfe einer Tilde (~) spezifiziert. Dabei stehen abhängige Variablen links und erklärende Variablen rechts von der Tilde. Arithmetische Operatoren haben in diesem Kontext eine andere Bedeutung und stehen für die Aufnahme und das Entfernen weiterer Variablen sowie die Einbeziehung von Interaktionseffekten.

Datenstrukturen

[Bearbeiten | Quelltext bearbeiten]

Als atomare Datentypen existieren in R die leere Menge (NULL), logische (TRUE und FALSE), numerische (double), integer und komplexe Werte sowie Zeichenketten (character) und raw für Byte-Repräsentation.

Es gibt keine Skalare. Die einfachste vorkommende Datenstruktur ist der Vektor. Ein Vektor ist über die drei Eigenschaften Typ, Länge und Attribute definiert. Die Elemente von Vektoren (eindimensional), Matrizen (ein- oder zweidimensional) und Arrays (beliebig dimensional) müssen Elemente gleichen Datentyps sein. Rechenoperationen werden auf alle Elemente dieser Datenstrukturen angewendet. Bei Zuweisung unterschiedlicher Datentypen zu einem Vektor werden die Daten in den flexibelsten Datentyp umgewandelt. Das erste Element eines Vektors hat den Index 1.

Neben diesen homogenen Datenstrukturen werden oft Data-Frames verwendet, um Daten als Datensatz darzustellen. Data-Frames sind matrizenförmig, können jedoch aus Spalten unterschiedlicher Datentypen bestehen. Darüber hinaus gibt es Listen. In Listen sind Daten beliebiger R-Strukturen und Datentypen enthalten. Objekte verschiedener Datenstrukturen können gemeinsam in der Arbeitsumgebung existieren und gleichzeitig in Analysen verwendet werden. Wenn Datenstrukturen unterschiedlicher Dimensionen elementweise miteinander verknüpft werden, wird meistens sogenanntes Recycling verwendet, wobei das kürzere Objekt so lange aneinander gereiht wird, bis es die Länge des längeren Objektes erreicht.

Fehlende Werte werden in R als NA (Not Available) bezeichnet; benutzerdefinierte fehlende Werte können nicht angegeben werden. Nicht-definierte Werte werden als NaN (Not a Number) dargestellt.

Attribute liefern Metadaten zu R-Objekten. Name, Klasse (S3) und Dimension sind die wichtigsten Attribute. Sie bleiben in vielen Fällen beim Modifizieren von Objekten erhalten; die meisten anderen Attribute entfallen. Benutzerdefiniert können eigene Attribute ergänzt werden.

R verfügt über vier Klassensysteme. Der Basis-Typ wurde in C erstellt und bildet die Grundlage für die anderen Klassensysteme. S3-Klassen bestehen in R seit Beginn, S4-Klassen wurden den Klassen der später entwickelten vierten Version von S nachempfunden und Referenzklassen wurden als letztes hinzugefügt.

Im S3-Klassensystem gehören Methoden nicht zu Objekten oder Klassen, sondern zu Funktionen; sie entsprechen somit generischen Funktionen. Die generische Funktion entscheidet darüber, welche Methode aufgerufen wird. Es gibt keine formale Beschreibung einer Klasse. Um ein Objekt einer Klasse zuzuordnen, reicht es aus, das Attribut der Klasse zu setzen. Eine oft verwendete Klasse ist factor wobei ein integer-Vektor für kategoriale Variablen verwendet wird, indem den Zahlen Ausprägungen zugewiesen werden.

Das S4-Klassensystem ist eine Erweiterung der S3-Klassen. Die Funktionsweise ist ähnlich, sodass Methoden zu Funktionen gehören. Klassen haben jedoch formale Definitionen, welche die Felder und Vererbungsstrukturen (Basisklasse) beschreiben. Eine S4-Klasse besteht aus drei Eigenschaften: der Name zur Identifizierung der Klasse, eine Liste der Felder, um Namen der Felder und zugelassene Klassen zu definieren, sowie eine Zeichenkette mit der Klasse, von der sie abgeleitet ist. Mit S4-Klassen ist eine mehrfache Vererbung möglich. Es gibt Hilfsfunktionen um Methoden und generische Funktionen zu definieren. Das S4-Klassensystem implementiert Multimethoden, sodass generische Funktionen Methoden auf Grundlage der Klassen mehrerer Argumente auswählen können. Mit dem At-Zeichen (@) können Felder von einem S4-Objekt extrahiert werden. Objekt und Methode werden im Funktionsaufruf durch einen Punkt getrennt. Benutzerdefiniert können neue Klassen erstellt oder bestehende umdefiniert werden.

Im System der Referenzklassen gehören Methoden zu Klassen und nicht zu Funktionen. Methoden werden zu Objekten gesendet (Nachrichtenaustausch) und das Objekt entscheidet welche Funktion aufzurufen ist. Objekte sind veränderlich und verhalten sich ähnlich wie Objekte in den objektorientierten Sprachen Python, Ruby, Java und C#. Objekt und Methode werden im Funktionsaufruf durch das Dollarzeichen getrennt.

R-Code wird in Textdateien gespeichert, die üblicherweise die Dateiendung .R besitzen. Das Format .RData (oder kurz .Rda) wird verwendet, um ein R-Objekt, beispielsweise einen Datensatz, oder eine Kollektion von R-Objekten, also Daten und Funktionen, im R-internen binären serialisierten Format abzuspeichern, wobei diese Dateien zusätzlich standard-komprimiert sind. Die gesamte Arbeitsumgebung kann so ebenfalls als .RData-Datei gespeichert werden. Die zuletzt verwendeten Befehle in der Kommandozeile werden zudem als .Rhistory gespeichert. Einzelne Objekte können als .Rds gespeichert werden.

In R werden Daten oft durch CSV-Dateien und Textdateien importiert und exportiert. Mit Hilfe von Paketen (siehe Abschnitt Pakete) können zahlreiche andere Dateiformate (z. B. von Microsoft Excel und anderer Statistiksoftware) importiert und exportiert werden. Daten können zudem aus der Zwischenablage (clipboard) eingefügt werden.

Für die Erstellung von Grafiken können devices geöffnet werden, mit denen Output statt in die Konsole in Dateien geschrieben wird. Dabei werden die Grafikformate JPEG, PNG, SVG, TIFF, Windows Bitmap und Metafile sowie Cairo-Grafiken unterstützt. Außerdem können die Formate PDF, PostScript und Encapsulated PostScript erstellt werden und die beim macOS verbreitete Grafikschicht Quartz sowie unixtypische X Window System und Xfig angesprochen werden.

Grundlegende Funktionen

[Bearbeiten | Quelltext bearbeiten]

Der Funktionsumfang einer R-Installation umfasst die Verwaltung von Dateien inklusive Herunterladen, Entpacken und Einlesen. Des Weiteren sind Funktionen zur Erstellung, Prüfung und Umwandlung von Datenstrukturen enthalten. Es gibt zahlreiche Funktionen zum Datenmanagement, unter Verwendung regulärer Ausdrücke oder printf zur Bearbeitung und Formatierung von Zeichenketten. Schleifen, bedingte Anweisungen und Verzweigungen sind enthalten sowie Funktionen der apply- und MapReduce-Familien (Funktionen höherer Ordnung), die alternativ genutzt werden können.

Zahlreiche Funktionen der deskriptiven Statistik sind implementiert und einige Analysefunktionen. Dies umfasst lineare und generalisierte lineare Modelle sowie die Varianzanalyse. Im Bereich Zeitreihenanalyse zählen dazu ARMA-Modelle, Interpolations- und Glättungsverfahren (etwa exponentielle Glättung, Kalman-Filter und Fourier-Transformation) sowie Dekomposition. Auch Hauptkomponenten- und Faktorenanalyse, die multidimensionale Skalierung und Verfahren der Clusteranalyse (hierarchisch sowie K-Means) sind aufzuzählen. Einige statistische Tests und Wahrscheinlichkeitsverteilungen mit Dichte, Verteilungsfunktion, Quantilsfunktion und Zufallszahlen gehören zum Standardumfang. Mehrere mathematische Funktionen zählen ebenfalls dazu, etwa spezielle Funktionen, trigonometrische Funktionen, Mengenoperationen, Matrixoperationen und Optimierungsalgorithmen.

Zusätzlich befinden sich Beispieldatensätze in R. Es existieren zahlreiche Funktionen für die Erstellung von Grafiken und ergänzenden grafischen Elementen inklusive LaTeX-ähnlicher Ausdrücke für mathematische Beschriftungssymbole. R nutzt das Hexadezimalsystem zur Repräsentation von Farben und beinhaltet 657 bereits in Worten spezifizierte Farben.

Hinzu kommen Funktionen zum Abruf von Metadaten, zur Paketverwaltung, für Debugging und Profiling sowie zur Veränderung von Einstellungen.

Um R als Skriptsprache für automatisierte Analysen zu verwenden, kann R-Code in eine Textdatei geschrieben und auf Windows entweder mit Rscript <Dateiname> oder R CMD BATCH <Dateiname> als Anweisung in einer Stapelverarbeitungsdatei ausgeführt werden. Auf unixoiden Systemen kann R-Code mit chmod ausführbar gemacht werden, und falls Rscript installiert ist, kann der Code wie jedes andere Skript ausgeführt werden. Somit können wiederkehrende Aufgaben mit Hilfe der Windows-Aufgabenplanung oder durch Cron erstellt werden. Untenstehendes Programm schreibt "Hello World!" auf die Kommandozeile (siehe auch Hallo-Welt-Programm); die erste Zeile des Programms ist die sogenannte Shebang-Zeile:

#! /usr/bin/Rscript

# mein erstes R-Skript:
writeLines("Hello World!")

In R gibt es einen Bytecode-Compiler und die Grundinstallation von R enthält den Befehl system(), womit Befehle an das Betriebssystem übergeben werden. Somit können beliebige, bereits bestehende Programme und Skripte mit Übergabe von Kommandozeilenparametern gestartet und der Rückgabewert in einer Variable gespeichert werden. Ebenfalls sind die Befehle .C() und .Fortran() vorhanden, um bereits kompilierte Programme in C und Fortran einzubinden. Auf diese Weise werden viele rechenintensive Subroutinen in besser geeignete Programmiersprachen ausgelagert, während die statistischen Methoden in R implementiert sind. So können Statistiker, die in R ihre Daten auswerten, rasch neue Methoden entwickeln, während Programmierer diese später bei Bedarf optimieren.

Die Standardbibliothek von R besteht aus 29 Paketen (Programmbibliotheken), in denen Funktionen zu ähnlichen Themen gebündelt sind. Diese Pakete sind in den herunterladbaren Distributionen von R enthalten. Die wichtigsten 14 Pakete mit den obigen Funktionen sind bei jedem Programmstart geladen; sie werden zusammen mit R selbst aktualisiert. Die weiteren 15 Pakete werden empfohlen.

Der Funktionsumfang kann durch eine Vielzahl von zusätzlichen Paketen erweitert und an spezifische statistische Problemstellungen aus diversen Anwendungsbereichen angepasst werden. Viele Pakete können dabei direkt aus einer über die R-Konsole abrufbaren Liste ausgewählt und automatisch installiert werden. Zentrales Archiv für diese Pakete ist das Comprehensive R Archive Network (CRAN) mit Haupt-Server an der Wirtschaftsuniversität Wien und zahlreichen Spiegelservern.[29] Bioconductor ist eine weitere Sammlung von R-Paketen mit Erweiterungen aus der Bioinformatik, insbesondere der Analyse von Genexpressionsdaten. Es gibt über 10000 Pakete auf CRAN[30] und 1294 Pakete auf Bioconductor.[31]

Unter der Rubrik Task Views[32] enthält CRAN eine Liste von 33 Themengebieten für welche eine kommentierte Beschreibung der für das Themengebiet relevanten Pakete vorhanden ist. Dies sind bayessche Statistik, Chemometrik und Computerphysik, klinische Studien, Clusteranalyse, Differentialgleichungen, Wahrscheinlichkeitsverteilungen, Ökonometrie, mathematische Beschreibung im Umweltbereich, Statistische Versuchsplanung, Finanzen, Genetik, Grafiken, Hochleistungsrechnen und Parallelrechnen, maschinelles Lernen, bildgebende Verfahren in der Medizin, Metaanalyse, multivariate Verfahren, Computerlinguistik, numerische Mathematik, amtliche Statistik und Befragung, Optimierung, Pharmakokinetik, Phylogenese, Psychometrie, reproduzierbare Forschung, robuste Schätzverfahren, Sozialwissenschaften, Geostatistik, Geostatistik mit Berücksichtigung der Zeit, Ereigniszeitanalyse, Zeitreihenanalyse, Webservices und -technologien sowie probabilistische graphische Modelle. Im Folgenden wird ein Überblick auf wichtige Pakete gegeben, die R mit anderer Software verknüpfen oder häufig heruntergeladen wurden.[33]

… zu anderer Software und deren Dateiformaten

[Bearbeiten | Quelltext bearbeiten]

Das Paket foreign[34] erlaubt es, Datensätze aus den anderen Statistikprogrammen SPSS, SAS (zum Teil), Stata, SYSTAT, Minitab, Epi Info, GNU Octave sowie Weka einzulesen, zu analysieren und in den jeweiligen Formaten zu speichern. translateSPSS2R[35] unterstützt die Übersetzung von SPSS-Code nach R. sas7bdat[36] ermöglicht das Einlesen von SAS-Dateien, R.matlab[37] das von Matlab-Dateien. Zudem kann Matlab dadurch über R gesteuert werden. Ähnliches bietet RcppOctave[38] zusätzlich für GNU Octave. Software für Maschinelles Lernen wie Weka und H2O können durch RWeka[39] sowie h2o[40] eingebunden werden. Die Bibliotheken TensorFlow (tensorflow[41]) und Caffe (caffeR[42]) für Deep Learning können mit R genutzt werden. Die Programme OpenBUGS (R2OpenBUGS[43]), Stan (rstan[44]) und JAGS (rjags[45]) für Bayessche Statistik sowie Gurobi (gurobi[46]) für mathematische Optimierung lassen sich über Pakete einbinden. Mit hexView[47] können unter anderem EViews-Dateien eingelesen werden. Mit readxl[48] können Microsoft-Excel-Dateien eingelesen werden, mit gnumeric[49] OpenDocuments. Im Bereich der Auszeichnungssprachen für Datenserialisierung gibt es für XML-Dateien das Paket XML[50] und yaml[51] für YAML-Dateien. Auf das Chemistry Development Kit (Chemoinformatik), welches die Chemical Markup Language verwendet, kann mit rcdk[52][53] zugegriffen werden. Für wissenschaftliche Daten können die Formate NetCDF und das Hierarchical Data Format mit RNetCDF[54] sowie rhdf5[55] eingelesen werden. Astronomische Daten aus dem Flexible Image Transport System können ebenfalls in R geladen werden – mit FITSio[56]. R-ArcGIS[57], geosapi[58],RSAGA[59], RQGIS[60] und rgrass7[61] bieten Schnittstellen zu den Geoinformationssystemen ArcGIS, GeoServer, SAGA, QGIS und GRASS GIS, aRT[62] zu TerraLib und rgdal[63] zur Geospatial Data Abstraction Library für Rasterdaten. Shapefiles und Dateien der Keyhole Markup Language von Google Earth können mit maptools[64] eingelesen werden. Mit tuneR[65] können MP3-Dateien und Wavesounds in R eingelesen werden, audio[66] ermöglicht die akustische Wiedergabe von diesen Audiodateien mit Hilfe des Mediaplayers.

… zu Datenbanken

[Bearbeiten | Quelltext bearbeiten]

Mehrere Pakete liefern Schnittstellen um auf Datenbanken zuzugreifen. Dazu zählen im Allgemeinen das Front-End DBI[67] zusammen mit RODBC[68] (ODBC) oder Java-basiert RJDBC[69] (JDBC).

Für relationale Datenbanken gibt es zudem RMySQL[70] (MySQL und MariaDB), RSQLite[71] (SQLite) und teradataR[72] (Teradata Aster).

Bezüglich objekt-relationalen Datenbanken gibt es die Pakete RSQLServer[73] (für Microsoft SQL Server), ibmdbr[74] (Db2), RPostgreSQL[75] (PostgreSQL) und ROracle[76] für Oracle-Datenbanken. Das Paket r-exasol[77] ermöglicht die Anbindung an die relationale In-Memory-Datenbank von EXASOL, MonetDB.R[78] an die spaltenorientierte Datenbank MonetDB. Für NoSQL- und Key-Value-Datenbanken gibt es RCassandra[79] (Apache Cassandra) und rredis[80] (Redis), RNeo4j[81] für die Graphdatenbank Neo4j und RCouchDB[82], rfml[83] sowie mongolite[84] für die dokumentenorientierten Datenbanken CouchDB, MarkLogic beziehungsweise MongoDB.

SparkR[85][86] bindet R in das Big-Data-Framework Apache Spark ein, welches auf In-Memory-Verarbeitung basiert und rkafka[87] bezieht Nachrichtenprotokolle aus Apache Kafka. RImpala[88] verwendet Apache Impala für schnelle interaktive SQL-Abfragen und elastic[89] verwendet Elasticsearch. SQL-ähnliche Abfragen können mit sqldf[90] innerhalb von R genutzt werden.

… zu anderen Programmiersprachen

[Bearbeiten | Quelltext bearbeiten]

Verschiedene Pakete bieten Schnittstellen zu anderen Programmiersprachen, die zur Performance-Optimierung und zur Erweiterung des Funktionsumfangs eingesetzt werden. Hauptsächlich wird dafür das Paket Rcpp[91][92] verwendet, welches zum Beispiel die Verwendung von C++-Funktionen in externen Quellcode-Dateien oder in R selbst ermöglicht, wobei die Funktionen bei jedem Programm-Ablauf erneut kompiliert werden. rJava[93] bietet eine Schnittstelle zu Java, rscala für Scala[94] und rPython[95] für Python. Der Kommandozeileninterpreter IPython (Jupyter) kann mit IRkernel[96] genutzt werden. Mit rocker[97] kann R im Rahmen von Docker in virtuellen Containern isoliert werden.

… zu Webservices

[Bearbeiten | Quelltext bearbeiten]

Mit rvest[98] können Websites gescraped werden um deren HTML-Inhalte in R nutzbar zu machen. Die Funktionsweise ist Beautiful Soup von Python nachempfunden. Verschiedene weitere Pakete sind direkt auf bestimmte Websites zugeschnitten und bieten dort mehr Komfort. Das Paket twitteR[99] erlaubt einen Zugriff auf Beiträge bei Twitter, Rfacebook[100] greift auf die Facebook API zu. Mit googleVis[101][102] können die Google-Charts genutzt werden, mit RGoogleAnalytics[103] Google Analytics. Eine Schnittstelle zur OpenStreetMap bietet osmar.[104] Dieser Wikipedia-Artikel und weitere Seiten verwandter Projekte lassen sich als HTML oder Wikitext mit WikipediR[105] in R laden.

Mit RSelenium[106] kann der Selenium-WebDriver eingebunden werden und somit von R aus ein Webbrowser gesteuert werden.[107] Das Paket mailR[108] ermöglicht das Senden von E-Mails aus R heraus.

Berichtserstellung

[Bearbeiten | Quelltext bearbeiten]

Für Reporting-Zwecke lässt sich R-Code in LaTeX (knitr[109][110], Sweave) oder HTML beziehungsweise Markdown (knitr, rmarkdown[111]) einbinden. knitr bereitet R-Code überdies für die weiteren Auszeichnungssprachen AsciiDoc und reStructuredText auf und bietet eine Anbindung an Pandoc. xtable[112] erlaubt es Tabellen mit R-Daten zu gestalten und liefert deren LaTeX- sowie HTML-Code. texreg[113] und stargazer[114] stellen die Ergebnisse verschiedener Modelle in einer Tabelle dar und unterstützen unterschiedliche Ausgabeformate (Text, HTML, LaTeX). Mit dem Paket ReporteRs[115] lassen sich unter anderem Vektorgrafiken erstellen, die auch nachträglich in Microsoft Word und PowerPoint bearbeitet werden können. tikzDevice[116] erstellt den Code der oft in LaTeX verwendeten PGF/TikZ-Grafiken. jsonlite[117] ermöglicht es, Data-Frames als JSON-Objekte zu speichern.

Grafikerstellung

[Bearbeiten | Quelltext bearbeiten]

Das Paket lattice[118][119] setzt die Idee der Trellis-Grafiken[120] zur Visualisierung von multivariaten Daten um. ggplot2[121][122] ermöglicht es ebenfalls, durch größere Abstraktion schneller komplexe Grafiken zu erstellen. Dieses Paket ist eine Implementierung von Leland Wilkinsons Grammar of Graphics[123]. Mit ggvis[124](basieren auf ggplot2) und plotly[125] und shiny[126] lassen sich interaktive, web-basierte Grafiken erstellen. rgl[127] eignet sich für interaktive dreidimensionale Grafiken. Bei der Grafikerstellung unterstützen zudem die Pakete scales[128] (Zuordnung von Daten auf ästhetische Elemente) sowie labeling[129] (weitere Achsenbeschriftungs-Optionen). Die Graph Modelling Language und ihre Anwendung in Grafiken zur Netzwerkanalyse wird durch igraph[130] implementiert. Auch auf das Graphviz kann zur Graph-Visualisierung mit Rgraphviz[131] zugegriffen werden. Turtle-Grafiken können mit TurtleGraphics[132] umgesetzt werden. Ebenfalls der Veranschaulichung dienen animierte Konzepte aus der Statistik im Paket animation,[133] das außerdem Funktionen liefert, um eigene Animationen in R umzusetzen.

Mit dem Paket munsell[134] kann das Munsell-Farbsystem genutzt werden, mit Hilfe von colorspace[135] lassen sich Farbzuordnungen innerhalb einer großen Zahl an Farbsystemen realisieren. Der RColorBrewer[136] kann eine Farbpalette nach benutzerdefinierten Vorgaben erzeugen, etwa zur Kolorierung von Landkarten.

Datenmanagement

[Bearbeiten | Quelltext bearbeiten]

Im Bereich Datenmanagement vereinfacht plyr[137][138] das Bearbeiten von Listen, dplyr[139] das von Data-Frames, tidyr[140] das Transformieren von Data-Frames (Wide-Format und Long-Format), stringi[141] und stringr[142][143] die Bearbeitung von Zeichenketten, lubridate[144][145] das Editieren von Datums- und Zeitangaben und zoo[146][147] den Umgang mit Zeitreihen. data.table[148] ist eine effizientere Version mit erweitertem Funktionsumfang anstelle von Data-Frames. Ein Message Passing Interface für den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen kann entweder per Master/Slave (Rmpi[149]) oder per SPMD (pbdMPI[150]) umgesetzt werden. Die CUDA-Technik von Nvidia kann mit Hilfe von gputools[151] realisiert werden. Durch digest[152] lassen sich verschiedene kryptologische Hashfunktionen auf R-Objekte anwenden.

Entwicklerwerkzeuge

[Bearbeiten | Quelltext bearbeiten]

Mit devtools[153] können eigene Pakete erstellt, installiert und überprüft werden. roxygen2[154] unterstützt ihre Dokumentierung. RUnit[155] (xUnit) und testthat[156] ermöglichen automatisierte Softwaretests. Das Paket sos[157][158] ermöglicht es, R und R-Pakete nach Funktionen zu durchsuchen. installr[159] aktualisiert R und andere Software (unter Windows). Mit dem Pipe-Operator (%>%) aus dem Paket magrittr[160] lassen sich R-Funktionen sequenziell ausführen anstatt sie ineinander zu verschachteln um bessere Code-Lesbarkeit zu erzielen.

Benutzeroberfläche

[Bearbeiten | Quelltext bearbeiten]

Die R-Installation beinhaltet RGui, eine Oberfläche, in der R in einer Art Kommandozeilenumgebung läuft. Ein paar Menübefehle ermöglichen Zugriff auf Hilfe, Paketverwaltung, Operationen bezüglich der Arbeitsumgebung sowie die Möglichkeit Skriptdateien zu erstellen und auszuführen.

Externe Benutzeroberflächen

[Bearbeiten | Quelltext bearbeiten]

Mehrere grafische Benutzeroberflächen und integrierte Entwicklungsumgebungen bieten weitere Möglichkeiten bei der Arbeit mit R. Dazu zählen RStudio[161] (auch als Version für Linux-Server erhältlich), Visual Studio Code[162] von Microsoft, die Java-basierte Benutzeroberfläche JGR[163] (Jaguar, Java GUI for R), RKWard, R AnalyticFlow[164], die Mathematik-Software Cantor[165], die cloud-basierte Number Analytics[166] für Einsteiger sowie StatET[167] (Eclipse) und der darauf aufbauende Architect.[168] Sie zeichnen sich im Wesentlichen durch Autovervollständigung, automatische Einrückungen, Syntaxhervorhebung, Code-Faltung, integrierte Hilfe, Informationen zu Objekten in der Arbeitsumgebung und Daten-Viewer oder -Editoren aus. Erweiterte Entwicklungsoptionen wie Versionsverwaltung mit Git oder grafisches Debugging sind teilweise enthalten.

Benutzeroberflächen in Paketen

[Bearbeiten | Quelltext bearbeiten]

Zwei umfangreiche grafische Benutzeroberflächen, die als Pakete in R bereitgestellt werden, sind der R-Commander (Paketname: Rcmdr[169]) und relax[170]. Bei beiden lassen sich einige wichtige Prozeduren der explorativen und analytischen Statistik über ein Menüsystem aufrufen. Ebenso können über das Menü Standardgrafiken erzeugt werden. Der R-Commander ist betriebssystemunabhängig geschrieben und erleichtert das Datenmanagement sowie das Schreiben von Skripten.[171] relax ist speziell darauf konzipiert die Datenanalyse und Dokumentation der Ergebnisse im Stil des Literate programming in ein Dokument zu integrieren (vergleiche Sweave).

Des Weiteren gibt es das Paket rattle[172][173], welches als grafische Benutzeroberfläche einen Einstieg in Data-Mining-Projekte bietet. RQDA[174] ist eine grafische Benutzeroberfläche für qualitative Datenanalyse, statnet[175] für Netzwerkanalyse. Der Deducer[176] eignet sich vor allem zum Bearbeiten von Data-Frames. Ein weiteres Paket ist pmg.[177]

Grafische Benutzeroberflächen wie diese lassen sich mit Tk, GTK (mit Hilfe des Pakets RGtk2[178]) oder Qt (qtbase[179]) erstellen.

Die Editoren Notepad++[180], Bluefish[181], CodeMirror[182], Emacs[183] / Aquamacs[184], Geany[185], gedit[186], jEdit[187], Kate, SciTE[188], Smultron[189], Sublime Text[190], TextMate[191], TextPad[192], Tinn[193], Vim[194], WinEdt[195] und TextWrangler[196] sowie SubEthaEdit[197] unterstützen R entweder nativ oder mithilfe entsprechender Erweiterungen.

Textverarbeitungswerkzeuge

[Bearbeiten | Quelltext bearbeiten]

Die Textverarbeitungssysteme GNU TeXmacs[198], LyX[199] (mit Sweave oder knitr) und ShareLaTeX[200] (knitr) binden R ein, das Software-Dokumentationswerkzeug Natural Docs[201] und Travis CI[202] für kontinuierliche Integration ebenfalls. Die Notiz-Software Org-mode[203] und Zim[204] nutzen R für Grafiken und ermöglichen eine interaktive Bearbeitung.

Alternative Open-Source-Interpreter

[Bearbeiten | Quelltext bearbeiten]

Mehrere alternative Interpreter wurden entwickelt, etwa um R leistungsfähiger zu machen und besser in bestehende Software zu integrieren. pqR[205] ist ein schnellerer R-Interpreter und eine Abspaltung von GNU R. pqr eignet sich für parallele Programmierung, da automatisch mehrere Prozessorkerne genutzt werden können. Der Interpreter ist in C geschrieben und nur unter Linux lauffähig; viele R (CRAN) Pakete laufen auch unter pqR, aber nicht alle.[206]

Der Interpreter Renjin[207] basiert auf der Java Virtual Machine und zeichnet sich durch implizite Nebenläufigkeit, Just-in-time-Kompilierung von Bytecode und eine bessere Implementierung von Java aus. Garbage Collection findet parallelisiert statt. Es ist möglich, Code bei Platform-as-a-Service-Providern wie Google App Engine, Amazon Beanstalk oder Salesforce Heroku abzulegen. Renjin wird durch das Unternehmen BeDataDriven unterstützt.

FastR[208] ist ein javabasierter Interpreter, der auf den Truffle-Interpreter und den Graal-Byte-Compiler aufgesetzt wurde. Er ist in Zusammenarbeit der Oracle Labs mit der Purdue University und der Universität Linz entstanden und ermöglicht Nebenläufigkeit.

Riposte[209] ist ein in C++ neu geschriebener und schnellerer Interpreter unterstützt von Tableau für Linux, der ebenfalls Just-in-time-Kompilierung von Bitecode nutzt. Die Lazy Evaluation von R wurde dabei überarbeitet, sodass weniger interne Variablen in Zwischenschritten erstellt werden. Riposte ermöglicht implizite Nebenläufigkeit mit mehreren Kernen und verwendet Streaming SIMD Extensions sowie Advanced Vector Extensions von Prozessoren.

Ein weiterer Interpreter ist CXXR[210] von der University of Kent mit Unterstützung von Google, der als in C++ geschriebene Abspaltung Modifikationen am R-Interpreter vornimmt. Anlass des Entwickelns war das Fehlen einer S-PLUS-Funktion in R, die es ermöglicht den Code zu betrachten, der zur Erstellung eines bestimmten Objektes geführt hat. Außerdem wurde die Dokumentation verbessert.

Einbindung in Business-Plattformen

[Bearbeiten | Quelltext bearbeiten]

Revolution Analytics hat die Analyse-Plattform Revolution R erschaffen, die R-Funktionen zusammen mit selbst entwickelten Komponenten anbietet. Im April 2015 schloss Microsoft den Kauf von Revolution Analytics ab.[211] Außer der Windows-Version läuft Revolution R Enterprise jetzt als Microsoft R Server; dies betrifft portierte Versionen für Hadoop (Hortonworks, Cloudera, MapR) für die Teradata-Datenbank, für Red Hat Linux, den SUSE Linux Enterprise Server, Apache Spark[212], die Cloud-Computing-Plattform Microsoft Azure[213] und den SQL-Server.[214] Der Microsoft R Server besteht aus der kostenlosen Komponente Microsoft R Open sowie Distributed R (Normalisierung, Portierung), ScaleR (Interpreter mit Big-Data-R-Funktionen), ConnectR (Schnittstellen), DevelopR (Entwicklungsumgebung) und DeployR für Web-Services. Microsoft R Open führt erste Performance-Verbesserungen ein durch die Ersetzung von BLAS und LAPACK mit der Intel Math Kernel Library. ScaleR ist ein optimierter Interpreter und beinhaltet zahlreiche R-Funktionen, die besonders für Big-Data-Analysen geeignet sind und mit dem Präfix Rx beginnen. Dazu zählt das Einlesen von Daten in Datenblöcken, eine Ausführung von Skripten im Rechnerverbund statt nur lokal und statistische Analysefunktionen, die in C++ neu geschrieben wurden und parallelisiert angewandt werden können. ConnectR stellt Schnittstellen zu anderen Dateiformaten und Datenbanken (Textdateien, SQL-Server, ODBC-Datenbanken, SAS, SPSS, Teradata) für das eigene .xdf-Datenformat bereit. .xdf braucht keinen Parser, ist circa fünfmal kleiner als eine .csv-Datei und Daten werden dabei nur dann eingelesen, wenn sie benötigt werden. Durch die Speicherung auf der Festplatte gilt die Begrenzung durch den internen Speicher nicht mehr. DevelopR liefert eine schnelle interaktive Entwicklungsumgebung basierend auf Visual Studio beziehungsweise RStudio für Linux-User. DeployR bringt eine Schnittstelle für Web-Applikationen zum R-Code, eingebettet mit Werkzeugen zur Authentifizierung, Informationssicherheit, Monitoring, Ressourcenmanagement, einem Sitzungsmanager sowie einer REST-API für JSON und XML. Web-Applikationen können als Client in Java, JavaScript/Node.js und für das .Net-Framework geschrieben werden. Die Webservices werden über einen Apache-Tomcat-Server verwaltet, die Datenbank mit Hilfe von MongoDB.[215] Seit 2016 ist R in den Microsoft-SQL-Server integriert.[216] Die Analysesoftware Predixion Insight von Predixion Software als Teil von Microsoft Business Intelligence verband R zuvor mit dem SQL-Server und anderen Big-Data-Technologien.

TIBCO Spotfire Analytics hat mit TIBCO Enterprise Runtime for R[217] (TERR) eine Analyse-Plattform, die einen in C++ neu geschriebenen R-Interpreter beinhaltet. Jeder Datentyp wird dabei als abstrakte C++-Klasse dargestellt; zudem ist eine native C++-Schnittstelle ein Bestandteil. TIBCO stellt außerdem den kommerziellen Dialekt von S (S-PLUS) bereit und mit StreamBase[218] eine Plattform für Complex Event Processing mit R-Integration.

Oracle verkündete im Oktober 2011 die Big Data Appliance[219], die R, Apache Hadoop, Oracle Linux, und mit Hardware von Exadata eine NoSQL-Datenbank verknüpft. Wichtigster R-Bestandteil ist dabei Oracle R Enterprise[220] (ORE), wobei R-Objekte direkt in der Oracle-Datenbank analysiert werden, was die Effizienz erhöht. Es findet eine implizite Übersetzung von R nach SQL statt. ORE und Oracle Data Mining (ODM), welches eigene R-Funktionen für Data-Mining enthält, bilden die Oracle Advanced Analytics Option.

IBM bietet eine Integration von R in die eigene InfoSphere BigInsights, welche Hadoop as a Service inklusive HBase und Hive beinhaltet und an einige Datenbanken und Webservices angebunden werden kann. Die R-Komponente nennt sich Big R[221]. Auch mit der Spectrum Symphony[222] sind mittels R Analysen möglich. Das Tochterunternehmen Netezza bindet R in das Hauptprodukt, die In-Memory-Datenbank TwinFin[223] für schnelle Analysen großer Datenmengen ein.

SAP ermöglicht eine R-Anbindung über die In-Memory-Datenbank HANA.[224] Zudem wurden beim Tochterunternehmen Sybase mit Hilfe von R die Analysemöglichkeiten für Börsendaten in der Software RAP[225] verbessert.

Hewlett-Packard entwickelte Distributed R, welches R-Funktionen für Analysen auf großen Datenmengen auf Grundlage von verteiltem Rechnen implementiert. Distributed R ist zusammen mit der Vertica-Datenbank Bestandteil der Software HP Haven Predictive Analytics.[226]

MicroStrategy ermöglicht eine Integration von R mit dem R Integration Pack[227], Information Builders mit WebFOCUS[228]. In die Dundas BI von Dundas Data Visualization[229] kann R eingebunden werden, ebenso in Tableau[230] und QlikView[231]. Zementis modelliert mit der Predictive Model Markup Language[232][233] Data-Mining-Fragestellungen einheitlich, führt sie in R aus und überführt sie in die eigenen Produkte ADAPA und UPPI. Techila[234] integriert R zur Anwendungsprogrammierung mit verteiltem Rechnen. Innerhalb des icCube-Servers[235] kann R für Online Analytical Processing verwendet werden. Mit R-Integration[236] ermöglicht MonetDB die Einbindung von R.

Einbindung in Software

[Bearbeiten | Quelltext bearbeiten]

Die meisten wichtigen Software-Pakete, bei denen Statistik oder Mathematik einen Schwerpunkt bildet, stellen Schnittstellen zu R bereit oder bieten eine Integration. Dies sind SAS[237] und JMP[238], SPSS[239], MATLAB[240], Maple[241], Sage[242], Mathematica[243], Statistica[244], gretl[245], Showgun[246], RapidMiner[247], KNIME[248] sowie Mondrian[249], ASReml[250] und das WPS[251]. Für Excel gibt es das R-Plug-in RExcel.[252][253]

Außerdem bieten das Geoinformationssystem ArcGIS[254] von ESRI, AFNI[255] (Neurowissenschaften), Bioclipse[256] (Biowissenschaften), GenGIS[257] (Bioinformatik), Bio7[258][259] (Ökologische Modellierung und Bildanalyse), INVEP[260] (Insolvenzverwaltung) sowie Compass[261] von Cytel (für klinische Studien) eine Einbindung von R.

Einbindung in andere Programmiersprachen und Programmbibliotheken

[Bearbeiten | Quelltext bearbeiten]

Auf die Funktionalität von R können zahlreiche Skriptsprachen zugreifen. Dazu zählen Python (rpy2[262]), Julia (unter anderem RCall[263]), Perl (Statistics::R[264]), Ruby (rsruby[265]) und F# (RProvider[266]).

Mit PL/R[267] kann R innerhalb einer PostgreSQL-Datenbank zur serverseitigen Programmierung eingesetzt werden, was beispielsweise die Datenbank Rasdaman[268] für Array- beziehungsweise Rasterdaten tut.

SWIG[269] macht in C und C++ geschriebene Module für R verfügbar. MicroAPL bindet mit APLX[270] R in APL ein. Die Python-Werkzeuge zur Paketverwaltung (Conda[271] von Continuum Analytics) und Automatisierung (Dexy[272], mit dem R Filter) nutzen R.

Einbindung als Skriptsprache in Serverumgebungen

[Bearbeiten | Quelltext bearbeiten]

rApache[273] ermöglicht die Entwicklung von Webanwendungen für R, die auf dem Apache HTTP Server basieren (Server Side Scripting). Zu weiteren Webangeboten zählen Rserve[274] als binärer Server und Rwui[275] für Java Webserver. R kann als Skriptsprache im LabKey-Server[276] (für Biomedizin) verwendet werden.

Unterstützung durch Stiftungen

[Bearbeiten | Quelltext bearbeiten]

Die gemeinnützige R Foundation for Statistical Computing besitzt und verwaltet das Urheberrecht von R und die Dokumentation. Ein Ziel ist die Förderung der Verbreitung von R als Open-Source-Sprache. Zudem dient ihre Rolle der Kommunikation mit der Presse und an R interessierten Organisationen. Die R Foundation finanziert sich durch Mitgliedsbeiträge und Spenden.[277]

Die Zeitschrift The R Journal wird zweimal jährlich im Juni und Dezember von der R Foundation frei zugänglich als PDF-Datei herausgegeben. Sie informiert über Neuigkeiten in der R-Welt, Veränderungen in neuen R-Versionen, neue Pakete sowie Anwendertipps und Tutorials. Vor der ersten Ausgabe im Juni 2009 gab es die R News.[278]

Jährlich findet die Konferenz useR! statt, die sich an R-Nutzer richtet. Die erste dieser Veranstaltungen war useR! 2004 im Mai 2004 in Wien. Nachdem 2005 ausgelassen wurde, fand die Konferenz jährlich an verschiedenen Orten statt:[279][280]

useR!-Konferenzen

[Bearbeiten | Quelltext bearbeiten]
Jahr Stadt Land Teilnehmer Website
2004 Wien Osterreich Österreich 194 useR! 2004
2006 Wien Osterreich Österreich 334 useR! 2006
2007 Ames, Iowa Vereinigte Staaten Vereinigte Staaten unb. useR! 2007
2008 Dortmund Deutschland Deutschland 387 useR! 2008
2009 Rennes Frankreich Frankreich 463 useR! 2009
2010 Gaithersburg, Maryland Vereinigte Staaten Vereinigte Staaten 465 useR! 2010
2011 Coventry Vereinigtes Konigreich Vereinigtes Königreich 430 useR! 2011
2012 Nashville, Tennessee Vereinigte Staaten Vereinigte Staaten 469 useR! 2012
2013 Albacete Spanien Spanien 328 useR! 2013
2014 Los Angeles, Kalifornien Vereinigte Staaten Vereinigte Staaten 604 useR! 2014
2015 Aalborg Danemark Dänemark 660 useR! 2015
2016 Stanford, Kalifornien Vereinigte Staaten Vereinigte Staaten 900[281] useR! 2016
2017 Brüssel Belgien Belgien 1.200[282] useR! 2017
2018 Brisbane Australien Australien fast 600[283] useR! 2018
2019 Toulouse Frankreich Frankreich 1.178 useR! 2019
2020 St. Louis (online) Vereinigte Staaten Vereinigte Staaten useR! 2020
2021 Zürich (online) Schweiz Schweiz useR! 2021
2022 Nashville, Tennessee (online) Vereinigte Staaten Vereinigte Staaten useR! 2022

Neben der Organisation dieser und weiterer Konferenzen stellt die R Foundation bei entsprechenden Anlässen R vor und fördert Forschungsprojekte mit Bezug zu R.

Mailinglisten wurden eingerichtet und sind für Anwender mit Fragen zu R geöffnet. Antworten auf Fragen erfolgen häufig zügig, manchmal von Mitgliedern des R Core Teams.[284]

Mehrere größere Unternehmen, die R nutzen oder ihr Geschäftsmodell darauf stützen, schlossen sich 2015 zum R Consortium als Teil der Linux Foundation zusammen. Ziel ist insbesondere die Verbesserung der geschäftlichen Infrastruktur, um R im Unternehmensumfeld komfortabler einsetzen zu können.[285] Zu den Gründungsmitgliedern des R Consortium zählen neben der R Foundation die Unternehmen Microsoft, RStudio, Tibco, alteryx, Google, Hewlett-Packard, Ketchum Trading, Mango Solutions und Oracle.[286] Die Gordon and Betty Moore Foundation sowie weitere Unternehmen wie IBM[287] und ESRI traten später bei. Um R besser in Unternehmensprozesse einbinden zu können, sollen gezielt Projekte gefördert werden. Das erste geförderte Projekt ist R-Hub, womit der Prozess der Erstellung und des Testens von R-Paketen vereinfacht werden soll.[288]

R ist das umfassendste Werkzeug für statistische Analysen sowohl bezüglich der bereits implementierten Methoden als auch bezogen auf das Potential, das die Sprache für weitere statistische Fragestellungen bietet. R wurde von Statistikern für statistische Fragestellungen entworfen und geht somit direkt auf die Bedürfnisse ein, die für solche Zwecke benötigt werden (wenige Zeilen Code sind notwendig für komplexe statistische Probleme). Der Code der statistischen Methoden ist offen einsehbar und wurde schon von vielen studierten Statistikern mit Erfahrung in der Anwendung gesichtet und verbessert; zudem ist R von der Food and Drug Administration für medizinische Zwecke validiert. R steht unter einer freien Lizenz und ist Open Source und kann somit leicht auf individuelle Vorlieben angepasst werden und durch eigene Methoden erweitert werden. Außerdem kostet R keine Lizenzgebühr und kann auf verschiedenen Betriebssystemen genutzt werden. Die Grafiken können sehr flexibel an benutzerdefinierte Bedürfnisse angepasst werden (zum Beispiel unter Verwendung mathematischer Symbole). Auch die Datenstrukturen erlauben Flexibilität. Der Funktionsumfang von R wird durch zahlreiche Pakete stetig erweitert; aufgrund des unkomplizierten Vorgehens werden viele neue statistische Methoden als Erstes in R implementiert. Zahlreiche Funktionen und Pakete verknüpfen R mit anderer Software und ermöglichen somit das Importieren und Exportieren vieler Dateiformate. Auch andere Programmiersprachen und Datenbanken können eingebunden werden. Für R gibt es mittlerweile umfassende Literatur und Dokumentationen. R hat aktive Anwendergruppen um sich gegenseitig bei Problemen zu helfen sowie große Präsenz bei Portalen wie Stack Overflow und GitHub. Beschäftigte mit guten R-Kenntnissen, die an der Dice Tech Salary Survey (2013) teilnahmen, hatten ein höheres Durchschnittseinkommen als Beschäftigte mit anderen IT-Fertigkeiten.[289]

Eine vollständige grafische Benutzeroberfläche, wie sie in anderen Statistikprogrammen existiert, ist in R nicht vorhanden. Die Sprache erfordert somit einige Programmierfertigkeiten, um sie nutzen zu können, was erste Ergebnisse langsamer entstehen lässt. Hinzu kommt, dass R für eine sinnvolle Nutzung ein größeres Maß an statistischem Verständnis erfordert. Die Dokumentation der R-Befehle ist teilweise kurz und/oder uneinheitlich. Auch folgen die Bezeichnungen von Funktionen und Argumenten in der Sprache selbst (besonders in Paketen) nur wenigen Konventionen.[290] Eine ausgiebige inhaltliche Qualitätssicherung von neuen Paketen findet nicht statt. Bei Fehlfunktionen kann niemand zur Rechenschaft gezogen werden oder ist für eine schnelle Verbesserung verantwortlich. Da R auf die Bedürfnisse von Statistikern zielt und viele Methoden von ihnen (und nicht von Programmierern) implementiert werden, spielt Performance-Optimierung bei R nur eine nachgeordnete Rolle, weshalb andere Programmiersprachen oft schneller sind und manchmal zur Optimierung herangezogen werden. R fußt auf Programmiersprachen und Konzepten, die mehrere Jahrzehnte zurückliegen.[291][292] Die Entwickler von Julia haben sich zum Ziel gesetzt, die Sprache ähnlich gut und einfach zur Datenanalyse einsetzen zu können wie R und möchten die Sprache zudem mit hoher Geschwindigkeit ausstatten.[293]

Als einfaches Beispiel wird der Korrelationskoeffizient zweier Datenreihen berechnet:

# 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 mit der Funktion "cor":
cor(Gewicht, Groesse, method = "pearson")

Das Ergebnis lautet 0.9295038.

Grafikausgabe des Beispiels

Als weitergehende Analyse kann eine lineare Regression durchgeführt werden. Dies kann in R durch die Funktion lm ausgeführt werden, wobei die abhängige Variable von den unabhängigen Variablen durch die Tilde getrennt wird. Die Funktion summary gibt 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 einfach erzeugen:

# Streudiagramm der Daten:
plot(Gewicht~Groesse)

# Regressionsgerade hinzufügen:
abline(reg)
  • Ross Ihaka, Robert Gentleman: R: A Language for Data Analysis and Graphics. In: Journal of Computational and Graphical Statistics. Band 5, Nr. 3. American Statistical Association, Institute of Mathematical Statistics, Interface Foundation of North America, Alexandria 1996, S. 299–314. Vorstellung der Programmiersprache R als wissenschaftliches Paper (online: R: A Language for Data Analysis and Graphics. (PDF; 1,7 MB) Abgerufen am 29. Juli 2015.)
  • Uwe Ligges: Programmieren mit R. 3. Auflage. Springer, Heidelberg 2008, ISBN 978-3-540-79997-9, doi:10.1007/978-3-540-79998-6 (Material – Erläuterung des wichtigsten Teils der Funktionsweise von R).
  • Lothar Sachs, Jürgen Hedderich: Angewandte Statistik. Methodensammlung mit R. 16. Auflage. Springer, Berlin 2018, ISBN 978-3-662-56656-5, doi:10.1007/978-3-662-56657-2 (Umfassendes Lehrbuch über statistische Verfahren mit R).
  • Hadley Wickham: R Packages. O’Reilly, Sebastopol 2015, ISBN 978-1-4919-1059-7 (online – Paketerstellung mit R).
  • Hadley Wickham: Advanced R. Chapman & Hall/CRC, Boca Raton 2014, ISBN 978-1-4665-8696-3 (online – Detaillierte Erläuterung der Funktionsweise von R).
  • Michael J. Crawley: The R Book. 2. Auflage. John Wiley & Sons, Chichester 2012, ISBN 978-0-470-97392-9 (Material – Umfassendes Werk, welches die Durchführung zahlreicher statistischer Verfahren mit R vorstellt).
Commons: R – Sammlung von Bildern, Videos und Audiodateien
Wikibooks: R – Lern- und Lehrmaterialien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Ross Ihaka: R : Past and Future History. (PDF) – (abgerufen am 2. September 2021).
  2. a b R: A Language for Data Analysis and Graphics. (abgerufen am 17. Mai 2019).
  3. Peter Dalgaard: 4.4.2 is released. 31. Oktober 2024 (englisch, abgerufen am 1. November 2024).
  4. Sylvia Tippmann: Programming tools: Adventures with R. A guide to the popular, free statistics and visualization software that gives scientists control of their own data analysis. In: Nature. Band 517, Nr. 1, 29. Dezember 2014, S. 109–110 (online [abgerufen am 15. Dezember 2015]).
  5. Tina Amirtha: How the Rise of the “R” Computer Language is Bringing Open Source to Science. In: Fast Company. 28. März 2014, abgerufen am 12. März 2017 (englisch).
  6. Tina Amirtha: Why the R Programming Language is Good for Business. In: Fast Company. 5. Mai 2014, abgerufen am 12. März 2017 (englisch).
  7. Harald Weiss: R erlebt derzeit eine immense Verbreitung. Mario Inchiosa und Bill Jacobs zum Potenzial von R. In: heise Developer. 10. März 2015, abgerufen am 21. Juli 2015.
  8. Robert A. Muenchen: The Popularity of Data Analysis Software. In: r4stats.com. 4. Januar 2012, abgerufen am 29. Juli 2015 (englisch).
  9. TIOBE Index for March 2024. In: TIOBE Software. Abgerufen am 19. März 2024 (englisch).
  10. Stephen O’Grady: The RedMonk Programming Language Rankings: January 2024. In: RedMonk tecosystems. RedMonk, 8. März 2024, abgerufen am 19. März 2024 (englisch).
  11. Pierre Carbonnelle: PYPL PopularitY of Programming Language. In: PYPL Index. Pierre Carbonnelle, abgerufen am 19. März 2024 (englisch).
  12. Stephen Cass: The Top Ten Programming Languages 2023. Python and SQL are on top, but old languages shouldn’t be forgotten. In: IEEE Spectrum. The Institute of Electrical and Electronics Engineers, 29. August 2023, abgerufen am 19. März 2024 (englisch).
  13. Ross Ihaka, Robert Gentleman: R: A Language for Data Analysis and Graphics. In: Journal of Computational and Graphical Statistics. Band 5, Nr. 3. American Statistical Association, Institute of Mathematical Statistics, Interface Foundation of North America, Alexandria 1996, S. 299–314 (stat.auckland.ac.nz [PDF; 1,7 MB; abgerufen am 29. Juli 2015]).
  14. Catherine Dalzell: Do I need to learn R? In: IBM developerWorks. IBM Corp., abgerufen am 20. Oktober 2015 (englisch).
  15. R. Douglas Martin: Statistical Sciences, Inc. In: University of Washington Computer Science & Engineering community. University of Washington, 1. April 1996, abgerufen am 20. Oktober 2015 (englisch).
  16. Ross Ihaka: R: Past and Future History. In: Computing Science and Statistics. Band 30, 1998, S. 392–396 (stat.auckland.ac.nz [PDF; 93 kB; abgerufen am 19. Februar 2016]).
  17. a b Sarah Putt: The story of R: a statistical tale with a twist. In: Computerworld. 22. Juli 2010, abgerufen am 20. Oktober 2015 (englisch).
  18. Drew Schmidt: How Much of R is Written in R? In: librestats. librestats, 27. August 2011, abgerufen am 17. März 2017 (englisch).
  19. Der «R»-Pionier. Abgerufen am 15. Januar 2021.
  20. 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 (stat.auckland.ac.nz [PDF; 93 kB; abgerufen am 29. Juli 2015]).
  21. Peter Dalgaard: Introductory Statistics with R. 2. Auflage. Springer, New York 2008, ISBN 978-0-387-79053-4 (Material).
  22. R Core Team: What’s New? In: R Project. The R Foundation, abgerufen am 8. Juli 2015 (englisch).
  23. R Release Names
  24. blog.revolutionanalytics.com
  25. Hadley Wickham: Advanced R. Chapman & Hall/CRC, Boca Raton 2015, ISBN 978-1-4665-8696-3 (online [abgerufen am 30. August 2015]).
  26. Floréal Morandat, Brandon Hill, Leo Osvald, Jan Vitek: Evaluating the Design of the R Language. In: ECOOP’12 Proceedings of the 26th European conference on Object-Oriented Programming. 2012, S. 104–131 (r.cs.purdue.edu [PDF; 850 kB]).
  27. Uwe Ligges: Programmieren mit R. 3. Auflage. Springer, Heidelberg 2009, ISBN 978-3-540-79997-9.
  28. John M. Chambers: Object-Oriented Programming, Functional Programming and R. In: Statistical Science. Band 29, Nr. 2, 2014, S. 167–180, arxiv:1409.3531.
  29. Rudolf Felser: „R“: Bedeutende Programmiersprache mit Wiener Wurzeln. In: Computerwelt. CW Fachverlag, 28. Juli 2015, abgerufen am 21. Januar 2021.
  30. R Core Team u. a.: Contributed Packages. In: CRAN. The R Foundation, abgerufen am 13. März 2016 (englisch).
  31. Bioconductor Core Team: All Packages. In: Bioconductor. Bioconductor, abgerufen am 13. März 2016 (englisch).
  32. R Core Team: CRAN Task Views. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch).
  33. DataCamp: Leaderboard. Most downloaded packages. In: Rdocumentation.org. Rstudio, abgerufen am 12. März 2017 (englisch, Berücksichtigung nur von Paketen, die über RStudio heruntergeladen wurden).
  34. R Core Team u. a.: R-Paket foreign. Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, Weka, dBase, … In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.8-64).
  35. Andreas Wygrabek, Bastian Wießner u. a.: R-Paket translateSPSS2R. Toolset for Translating SPSS-Syntax to R-Code. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.0.0).
  36. Matt Shotwell: R-Paket sas7bdat. SAS Database Reader (experimental). In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.5).
  37. Henrik Bengtsson u. a.: R-Paket R.matlab. Read and Write MAT Files and Call MATLAB from Within R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 3.2.0).
  38. Renaud Gaujoux: R-Paket RcppOctave. Seamless Interface to Octave – And Matlab. In: CRAN. The R Foundation, abgerufen am 27. Oktober 2015 (englisch, aktuelle Version: 0.18.1).
  39. Kurt Hornik u. a.: R-Paket RWeka. R/Weka interface. In: CRAN. The R Foundation, abgerufen am 7. August 2015 (englisch, aktuelle Version: 0.4-24).
  40. Spencer Aiello, Tom Kraljevic, Petr Maj u. a.: R-Paket h2o. R Interface for H2O. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 3.0.0.30).
  41. Joseph J. Allaire u. a.: R-Paket tensorflow. TensorFlow for R. In: GitHub. Abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.7).
  42. Christof Naumzik, Stefan Feuerriegel: R-Paket caffeR. A wrapper for 'caffe'. In: GitHub. Abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.2-0).
  43. Andrew Gelman, Neil Thomas u. a.: R-Paket R2OpenBUGS. Running OpenBUGS from R. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 3.2-3.1).
  44. Ben Goodrich u. a.: R-Paket rstan. R Interface to Stan. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 2.7.0-1).
  45. Martyn Plummer, Alexey Stukalov, Matt Denwood: R-Paket rjags. Bayesian Graphical Models using MCMC. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 3-15).
  46. R-Paket gurobi. R API Overview. In: Gurobi Optimization. Abgerufen am 25. August 2015 (englisch, aktuelle Version: 6.0.0).
  47. Paul Murrell: R-Paket hexView. Viewing Binary Files. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.3-3).
  48. Hadley Wickham u. a.: R-Paket readxl. Read Excel Files. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.1.0).
  49. Karoly Antal: R-Paket gnumeric. Read Data from Files Readable by Gnumeric. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.7-2).
  50. Duncan Temple Lang u. a.: R-Paket XML. Tools for Parsing and Generating XML Within R and S-Plus. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 3.98-1.3).
  51. eremy Stephens: R-Paket yaml. Methods to convert R data to YAML and back. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 2.1.13).
  52. Rajarshi Guha: R-Paket rcdk. rcdk – Interface to the CDK Libraries. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 3.3.2).
  53. Rajarshi Guha: Chemical informatics functionality in R. In: Journal of Statistical Software. Band 18, Nr. 5, 2007, S. 1–16 (online).
  54. Pavel Michna, Milton Woods: R-Paket RNetCDF. Interface to NetCDF Datasets. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 1.7-3).
  55. Bernd Fischer, Gregoire Pau: R-Paket rhdf5. HDF5 interface to R. In: Bioconductor. The R Foundation, abgerufen am 2. Februar 2016 (englisch, aktuelle Version: 2.14.0).
  56. Andrew Harris: R-Paket FITSio. FITS (Flexible Image Transport System) utilities. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 2.0-0).
  57. Mark Janikas, Shaun Walbridge: R-Paket R-ArcGIS. Install the R ArcGIS Tools. In: GitHub. Abgerufen am 24. März 2017 (englisch, aktuelle Version: 1.1.0).
  58. Emmanuel Blondel: R-Paket geosapi. GeoServer REST API R Interface. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.1-0).
  59. Alexander Brenning, Donovan Bangs: R-Paket RSAGA. SAGA Geoprocessing and Terrain Analysis in R. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.94-1).
  60. Jannes Münchow, Patrick Schratz: R-Paket RQGIS. Integrating R with QGIS. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.2.0).
  61. Roger Bivand u. a.: R-Paket rgrass7. Interface Between GRASS 7 Geographical Information System and R. In: CRAN. The R Foundation, abgerufen am 27. Oktober 2015 (englisch, aktuelle Version: 0.1-3).
  62. Pedro Ribeiro de Andrade u. a.: R-Paket aRT. R-TerraLib API. In: Laboratório de Estatística e Geoinformação. Universidade Federal do Paraná, abgerufen am 19. August 2015 (englisch, aktuelle Version: 1.9-2).
  63. Roger Bivand: R-Paket rgdal. Bindings for the Geospatial Data Abstraction Library. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 1.0-5).
  64. Roger Bivand u. a.: R-Paket maptools. Tools for Reading and Handling Spatial Objects. In: CRAN. The R Foundation, abgerufen am 27. Oktober 2015 (englisch, aktuelle Version: 0.8-27).
  65. Uwe Ligges u. a.: R-Paket tuneR. Analysis of music and speech. In: CRAN. The R Foundation, abgerufen am 12. November 2015 (englisch, aktuelle Version: 1.2.1).
  66. Simon Urbanek: R-Paket audio. Audio Interface for R. In: CRAN. The R Foundation, abgerufen am 12. November 2015 (englisch, aktuelle Version: 0.1-5).
  67. Hadley Wickham u. a.: R-Paket DBI. R Database Interface. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.3.1).
  68. Brian Ripley, Michael Lapsley: R-Paket RODBC. ODBC Database Access. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.3-12).
  69. Simon Urbanek: R-Paket RJDBC. Provides access to databases through the JDBC interface. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.2-5).
  70. Jeroen Ooms u. a.: R-Paket RMySQL. Database Interface and MySQL Driver for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.10.3).
  71. Hadley Wickham u. a.: R-Paket RSQLite. SQLite Interface for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.0.0).
  72. Teradata: R-Paket teradataR. R package to perform in-database analytics using Teradata database. In: GitHub. Abgerufen am 29. Juli 2015 (englisch, aktuelle Version: 1.1.0).
  73. Imanuel Costigan: R-Paket RSQLServer. SQL Server DBI for R, based on the jTDS driver. In: GitHub. Abgerufen am 18. März 2017 (englisch, aktuelle Version: 0.2.0).
  74. Alexander Eckert u. a.: R-Paket ibmdbR. IBM in-Database Analytics for R. In: CRAN. The R Foundation, abgerufen am 18. März 2017 (englisch, aktuelle Version: 1.48.0).
  75. Tomoaki Nishiyama u. a.: R-Paket RPostgreSQL. R interface to the PostgreSQL database system. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.4).
  76. Denis Mukhin, David A. James, Jake Luciani: R-Paket ROracle. OCI based Oracle database interface for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.1-12).
  77. Exasol: R-Paket exasol-r. The EXASOL package for R provides an interface to the EXASOL database. In: GitHub. Abgerufen am 18. März 2017 (englisch, aktuelle Version: ?).
  78. Hannes Mühleisen, Thomas Lumley, Anthony Damico: R-Paket MonetDB.R. Connect MonetDB to R. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.9.7).
  79. Simon Urbanek: R-Paket RCassandra. R/Cassandra interface. In: CRAN. The R Foundation, abgerufen am 18. März 2017 (englisch, aktuelle Version: 0.1-3).
  80. Bryan W. Lewis: R-Paket rredis. "Redis" Key/Value Database Client. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 1.7.0).
  81. Nicole White: R-Paket RNeo4j. Neo4j Driver for R. In: CRAN. The R Foundation, abgerufen am 18. März 2017 (englisch, aktuelle Version: 1.6.4).
  82. Thomas Bock: R-Paket R4CouchDB. A R Convenience Layer for CouchDB 2.0. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.7.5).
  83. Mats Stellwall, Abdulla Abdurakhmanov: R-Paket rfml. MarkLogic NoSQL Database Server in-Database Analytics for R. In: CRAN. The R Foundation, abgerufen am 18. März 2017 (englisch, aktuelle Version: 0.1.0).
  84. Jeroen Ooms u. a.: R-Paket mongolite. Fast and Simple 'MongoDB' Client for R. In: CRAN. The R Foundation, abgerufen am 12. März 2017 (englisch, aktuelle Version: 1.0).
  85. Spark: R-Paket SparkR. R on Spark. In: Spark. The Apache Software Foundation, abgerufen am 29. Juli 2015 (englisch, aktuelle Version: 1.4.1).
  86. Alexander Neumann: Big-Data-Framework Spark unterstützt R und Python 3. In: heise Developer. 15. Juni 2015, abgerufen am 29. Juli 2015.
  87. Shruti Gupta: R-Paket rkafka. Using Apache 'Kafka' Messaging Queue Through 'R'. In: CRAN. The R Foundation, abgerufen am 20. Februar 2016 (englisch, aktuelle Version: 1.0).
  88. Vijay Raajaa u. a.: R-Paket RImpala. Using Cloudera 'Impala' Through 'R'. In: CRAN. The R Foundation, abgerufen am 12. November 2015 (englisch, aktuelle Version: 0.1.6).
  89. Scott Chamberlain: R-Paket elastic. General Purpose Interface to 'Elasticsearch'. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 0.7.8).
  90. Gabor Grothendieck: R-Paket sqldf. Perform SQL Selects on R Data Frames. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.4-10).
  91. Dirk Eddelbuettel u. a.: R-Paket Rcpp. Seamless R and C++ Integration. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.11.6).
  92. Dirk Eddelbuettel: Seamless R and C++ Integration with Rcpp. Springer, New York 2013, ISBN 978-1-4614-6867-7.
  93. Simon Urbanek: R-Paket rJava. Low-level R to Java interface. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.9-6).
  94. David B. Dahl u. a.: R-Paket rscala. Bi-Directional Interface Between R and Scala with Callbacks. In: CRAN. The R Foundation, abgerufen am 17. Oktober 2015 (englisch, aktuelle Version: 1.0.6).
  95. Carlos Javier Gil Bellosta: R-Paket rPython. Package allowing R to call Python. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.0-5).
  96. Thomas Kluyver u. a.: R-Paket IRkernel. R kernel for IPython. In: GitHub. Abgerufen am 20. August 2015 (englisch, aktuelle Version: 0.4).
  97. Dirk Eddelbuettel: R-Paket rocker. In: GitHub. Abgerufen am 7. August 2015 (englisch, aktuelle Version: NN).
  98. Hadley Wickham u. a.: R-Paket rvest. Easily Harvest (Scrape) Web Pages. In: CRAN. The R Foundation, abgerufen am 15. Dezember 2015 (englisch, aktuelle Version: 0.3.1).
  99. Jeff Gentry: R-Paket twitteR. R Based Twitter Client. In: CRAN. The R Foundation, abgerufen am 2. Juli 2015 (englisch, aktuelle Version: 1.1.8).
  100. Pablo Barbera, Michael Piccirilli: R-Paket Rfacebook. Access to Facebook API via R. In: CRAN. The R Foundation, abgerufen am 2. Juli 2015 (englisch, aktuelle Version: 0.5).
  101. Markus Gesmann, Diego de Castillo, Joe Cheng: R-Paket googleVis. R Interface to Google Charts. In: CRAN. The R Foundation, abgerufen am 2. Juli 2015 (englisch, aktuelle Version: 0.5.8).
  102. Markus Gesmann, Diego de Castillo: googleVis: Interface between R and the Google Visualisation API. In: The R Journal. Band 3, Nr. 2, 2011, S. 40–44 (r-project.org [PDF; 505 kB]).
  103. Michael Pearmain u. a.: R-Paket RGoogleAnalytics. R Wrapper for the Google Analytics API. In: CRAN. The R Foundation, abgerufen am 29. Juli 2015 (englisch, aktuelle Version: 0.1.1).
  104. Thomas Schlesinger, Manuel J. A. Eugster: R-Paket osmar. OpenStreetMap and R. In: CRAN. The R Foundation, abgerufen am 27. Oktober 2015 (englisch, aktuelle Version: 1.1-7).
  105. Oliver Keyes: R-Paket WikipediR. A MediaWiki API Wrapper. In: CRAN. The R Foundation, abgerufen am 30. August 2015 (englisch, aktuelle Version: 1.2.0).
  106. John Harrison: R-Paket RSelenium. R bindings for Selenium WebDriver. In: CRAN. The R Foundation, abgerufen am 15. Dezember 2015 (englisch, aktuelle Version: 1.3.5).
  107. Sharon Machlis: How to drive a Web browser with R (and RSelenium). In: Computerworld. 25. August 2015, abgerufen am 15. Dezember 2015 (englisch).
  108. Rahul Premraj: R-Paket mailR. A Utility to Send Emails from R. In: CRAN. The R Foundation, abgerufen am 15. Dezember 2015 (englisch, aktuelle Version: 0.4.1).
  109. Yihui Xie u. a.: R-Paket knitr. A General-Purpose Package for Dynamic Report Generation in R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.10.5).
  110. Yihui Xie: Dynamic Documents with R and knitr. CRC Press – Taylor & Francis Group, Boca Raton 2014, ISBN 978-1-4822-0354-7.
  111. Joseph J. Allaire u. a.: R-Paket rmarkdown. Dynamic Documents for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.7).
  112. David B. Dahl: R-Paket xtable. Export tables to LaTeX or HTML. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.7-4).
  113. Philip Leifeld: R-Paket texreg. Conversion of R Regression Output to LaTeX or HTML Tables. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 1.36.23).
  114. Marek Hlavac: R-Paket stargazer. Well-Formatted Regression and Summary Statistics Tables. In: CRAN. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 5.2).
  115. David Gohel u. a.: R-Paket ReporteRs. Microsoft Word, Microsoft Powerpoint and HTML Documents Generation. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.7.8).
  116. Kirill Müller u. a.: R-Paket tikzDevice. R Graphics Output in LaTeX Format. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 0.8.1).
  117. Jeroen Ooms, Duncan Temple Lang, Lloyd Hilaiel: R-Paket jsonlite. A Robust, High Performance JSON Parser and Generator for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.9.16).
  118. Deepayan Sarkar: R-Paket lattice. Lattice Graphics. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.20-31).
  119. Deepayan Sarkar: Lattice: Multivariate Data Visualization with R. Springer, New York 2008, ISBN 978-0-387-75968-5.
  120. Richard A. Becker, William S. Cleveland, Ming-Jen Shyu: The Visual Design and Control of Trellis Display. In: Journal of Computational and Graphical Statistics. Band 5, Nr. 2, 1996, S. 123–155.
  121. Hadley Wickham: R-Paket ggplot2. An Implementation of the Grammar of Graphics. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.0.1).
  122. Hadley Wickham, Carson Sievert: ggplot2. Elegant Graphics for Data Analysis. 2. Auflage. Springer, 2015, ISBN 978-3-319-24275-0 (Material).
  123. Leland Wilkinson: The Grammar of Graphics. Springer, New York 1999, ISBN 0-387-98774-6.
  124. Winston Chang: R-Paket ggvis. Interactive Grammar of Graphics. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.4.2).
  125. Carson Sievert u. a.: R-Paket plotly. In: GitHub. Abgerufen am 25. August 2015 (englisch, aktuelle Version: 1.0.6).
  126. Winston Chang u. a.: R-Paket shiny. Web Application Framework for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.12.1).
  127. Daniel Adler, Duncan Murdoch et al.: R-Paket rgl. 3D Visualization Using OpenGL. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.95.1247).
  128. Hadley Wickham u. a.: R-Paket scales. Scale Functions for Visualization. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.2.5).
  129. Justin Talbot: R-Paket labeling. Axis Labeling. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.3).
  130. Gabor Csardi u. a.: R-Paket igraph. Network Analysis and Visualization. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 1.0.1).
  131. Kasper Daniel Hansen u. a.: R-Paket Rgraphviz. Provides plotting capabilities for R graph objects. In: Bioconductor. The R Foundation, abgerufen am 24. März 2017 (englisch, aktuelle Version: 2.18.0).
  132. Barbara Zogala-Siudem u. a.: R-Paket TurtleGraphics. Turtle graphics in R. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 1.0-5).
  133. Yihui Xie u. a.: R-Paket animation. A Gallery of Animations in Statistics and Utilities to Create Animations. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 2.4).
  134. Charlotte Wickham: R-Paket munsell. Munsell colour system. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.4.2).
  135. Achim Zeileis u. a.: R-Paket colorspace. Color Space Manipulation. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 1.2-6).
  136. Erich Neuwirth: R-Paket RColorBrewer. ColorBrewer Palettes. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 1.1-2).
  137. Hadley Wickham: R-Paket plyr. Tools for Splitting, Applying and Combining Data. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.8.3).
  138. Hadley Wickham: The Split-Apply-Combine Strategy for Data Analysis. In: Journal of Statistical Software. Band 40, Nr. 1, 2011, S. 1–29 (online).
  139. Hadley Wickham u. a.: R-Paket dplyr. A Grammar of Data Manipulation. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.4.2).
  140. Hadley Wickham u. a.: R-Paket tidyr. Easily Tidy Data with spread() and gather() Functions. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.2.0).
  141. Marek Gagolewski u. a.: R-Paket stringi. Character String Processing Facilities. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.5-5).
  142. Hadley Wickham u. a.: R-Paket stringr. Simple, Consistent Wrappers for Common String Operations. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.0.0).
  143. Hadley Wickham: stringr: modern, consistent string processing. In: The R Journal. Band 2, Nr. 2, 2010, S. 38–40 (r-project.org [PDF; 121 kB]).
  144. Garrett Grolemund u. a.: R-Paket lubridate. Make dealing with dates a little easier. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.3.3).
  145. Garrett Grolemund, Hadley Wickham: Dates and Times Made Easy with lubridate. In: Journal of Statistical Software. Band 40, Nr. 3, 2011, S. 1–25 (online).
  146. Achim Zeileis u. a.: R-Paket zoo. S3 Infrastructure for Regular and Irregular Time Series (Z’s Ordered Observations). In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 1.7-12).
  147. Achim Zeileis, Gabor Grothendieck: zoo: S3 Infrastructure for Regular and Irregular Time Series. In: Journal of Statistical Software. Band 14, Nr. 6, 2005, S. 1–27 (online).
  148. Matthew Dowle u. a.: R-Paket data.table. Extension of data.frame. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.9.4).
  149. Hao Yu: R-Paket Rmpi. Interface (Wrapper) to MPI (Message-Passing Interface). In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.6-5).
  150. Wei-Chen Chen: R-Paket pbdMPI. Programming with Big Data – Interface to MPI. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.2-5).
  151. Josh Buckner, Mark Seligman, Justin Wilson: R-Paket gputools. A few GPU enabled functions. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.28).
  152. Dirk Eddelbuettel u. a.: R-Paket digest. Create Cryptographic Hash Digests of R Objects. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.6.8).
  153. Hadley Wickham u. a.: R-Paket devtools. Tools to Make Developing R Packages Easier. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.8.0).
  154. Hadley Wickham u. a.: R-Paket roxygen2. In-Source Documentation for R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 4.1.1).
  155. Matthias Burger, Klaus Juenemann, Thomas Koenig: R-Paket RUnit. R Unit Test Framework. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.4.29).
  156. Hadley Wickham u. a.: R-Paket testthat. Unit Testing for R. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.10.0).
  157. Spencer Graves, Sundar Dorai-Raj, Romain François: R-Paket sos. Search contributed R packages, sort by package. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 1.3-8).
  158. Spencer Graves, Sundar Dorai-Raj, Romain François: sos: Searching Help Pages of R Packages. In: The R Journal. Band 1, Nr. 2, 2009, S. 56–59 (r-project.org [PDF; 141 kB]).
  159. Tal Galili u. a.: R-Paket installr. Using R to Install Stuff (Such As: R, Rtools, RStudio, Git, and More!). In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 0.16.0).
  160. Stefan Milton Bache, Hadley Wickham: R-Paket magrittr. A Forward-Pipe Operator for R. In: CRAN. The R Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 1.5).
  161. Joseph J. Allaire u. a.: RStudio. In: RStudio. Abgerufen am 29. Juli 2015 (englisch, aktuelle Version: 0.99.463).
  162. Rainald Menge-Sonnentag: Microsoft öffnet Visual Studio für Programmiersprache R. In: heise Developer. 10. März 2016, abgerufen am 13. März 2016.
  163. Markus Helbig, Simon Urbanek, Ian Fellows: JGR – Java GUI for R. In: RForge. The R Foundation, abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 1.7-16).
  164. Ef-prime: Features. In: R AnalyticFlow. Ef-prime, abgerufen am 12. März 2017 (englisch, aktuelle Version: 3.0.6).
  165. Alexander Rieder: Cantor. In: KDEdu. KDE e. V., abgerufen am 12. August 2015 (englisch, aktuelle Version: 0.1).
  166. Number Analytics Software: R for Business. In: Number Analytics. Number Analytics LLC, abgerufen am 2. Februar 2016 (englisch).
  167. Dominik Mohilo: Neu im Eclipse-Universum: StatET – die IDE für professionelle R-Programmierung. Endlich daheim. In: Jaxenter. 11. Juli 2016, abgerufen am 11. Juli 2016.
  168. Architect (Memento vom 13. März 2017 im Internet Archive)
  169. John Fox u. a.: R-Paket Rcmdr. R Commander. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 2.1-7).
  170. Hans Peter Wolf: R-Paket relax. relax – R Editor for Literate Analysis and lateX. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 1.3.15).
  171. John Fox: The R Commander. A Basic-Statistics Graphical User Interface to R. In: Journal of Statistical Software. Band 14, Nr. 9, 2005, S. 1–42 (online).
  172. Graham Williams u. a.: R-Paket rattle. Graphical user interface for data mining in R. In: CRAN. The R Foundation, abgerufen am 30. Juni 2015 (englisch, aktuelle Version: 3.4.1).
  173. Graham Williams: Data Mining with Rattle and R. Springer, New York 2011, ISBN 978-1-4419-9889-7.
  174. Huang Ronggui: R-Paket RQDA. R-based Qualitative Data Analysis. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 0.2-7).
  175. Martina Morris u. a.: R-Paket statnet. Software Tools for the Statistical Analysis of Network Data. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 2015.6.2).
  176. Ian Fellows u. a.: R-Paket Deducer. Deducer: A data analysis GUI for R. In: CRAN. The R Foundation, abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 0.7-7).
  177. John Verzani, Yvonnick Noel: R-Paket pmg. Poor Man’s GUI. In: CRAN. The R Foundation, abgerufen am 16. August 2015 (englisch, aktuelle Version: 0.9-43).
  178. Michael Lawrence, Duncan Temple Lang: R-Paket RGtk2. R bindings for Gtk 2.8.0 and above. In: CRAN. The R Foundation, abgerufen am 19. August 2015 (englisch, aktuelle Version: 2.20.31).
  179. Michael Lawrence, Deepayan Sarkar: R-Paket qtbase. Interface Between R and Qt. In: CRAN. The R Foundation, abgerufen am 25. August 2015 (englisch, aktuelle Version: 1.0.11).
  180. Andrew Redd: NppToR: R in Notepad++. In: SourceForge. Abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 2.6.3).
  181. Olivier Sessink: Bluefish Features. In: Bluefish. Abgerufen am 12. August 2015 (englisch, aktuelle Version: 2.2.7).
  182. Ubalo: R mode. In: CodeMirror. Marijn Haverbeke, abgerufen am 12. August 2015 (englisch).
  183. Anthony J. Rossini: ESS – version 15.03-1. In: ESS. Abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 15.03-1).
  184. Aquamacs: Features: Why use Aquamacs? In: Aquamacs. Abgerufen am 16. August 2015 (englisch, aktuelle Version: 3.2).
  185. Enrico Tröger u. a.: Supported Filetypes. In: Geany. Abgerufen am 12. August 2015 (englisch, aktuelle Version: 1.25).
  186. Dan Dediu: Welcome to Rgedit. In: SourceForge. Abgerufen am 7. Juli 2015 (englisch).
  187. Jose Claudio Faria: R syntax. In: jEdit Community. Björn Kautler, abgerufen am 7. Juli 2015 (englisch).
  188. Neil Hodgson: SciTE Documentation. In: SciTE. Scintilla, abgerufen am 12. August 2015 (englisch, aktuelle Version: 3.6.0).
  189. Peter Borg: Smultron. An elegant and powerful text editor that is easy to use. In: Peter Borg Apps. Peter Borg Apps AB, abgerufen am 7. Juli 2015 (englisch).
  190. Kevin Johnson: Using R in Sublime Text 3. In: kevjohnson.org. 10. Februar 2014, abgerufen am 7. Juli 2015 (englisch).
  191. Jim Barritt: Using TextMate with R. In: non-random ramble. 16. November 2010, abgerufen am 7. Juli 2015 (englisch).
  192. Tobias Elze, Paul Renaud: add-ons. syntax definition files: R. In: TextPad. Helios Software Solutions, abgerufen am 7. Juli 2015 (englisch).
  193. Ricardo Pietrobon: Tinn-R. In: LEC. Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas, archiviert vom Original (nicht mehr online verfügbar) am 13. Juli 2015; abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 4.0.3.5).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/nbcgib.uesc.br
  194. Jakson Aquino: Vim-R-plugin: Plugin to work with R. In: Vim. Abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 1.2.6).
  195. Uwe Ligges, Gilbert Ritschard, Karl Koeller: R-Paket RWinEdt. R Interface to WinEdt. In: CRAN. The R Foundation, abgerufen am 7. Juli 2015 (englisch, aktuelle Version: 2.0-4).
  196. Johannes W. Dietrich: TextWrangler. In: Formatio Reticularis. Abgerufen am 7. Juli 2015 (englisch).
  197. Johannes W. Dietrich: SubEthaEdit. In: Formatio Reticularis. Abgerufen am 7. Juli 2015 (englisch).
  198. Chu-Ching Huang, Joris van der Hoeven: Using GNU R sessions inside TeXmacs. In: GNU TeXmacs. Abgerufen am 16. August 2015 (englisch).
  199. Paul E. Johnson, Gregor Gorjanc: LyX with R through Sweave. How to use LyX together with R through Sweave. In: LyX. The LyX Project, abgerufen am 7. Juli 2015 (englisch).
  200. ShareLaTeX: Knitr. In: ShareLaTeX. Abgerufen am 26. August 2015 (englisch).
  201. Language Support (Memento vom 20. August 2015 im Internet Archive)
  202. Travis CI: Building an R Project. In: Travis CI. Abgerufen am 26. August 2015 (englisch).
  203. Org-mode: R Source Code Blocks in Org Mode. In: Org-mode. Abgerufen am 30. August 2015 (englisch).
  204. Zim: Zim – A Desktop Wiki. GNU R Plot Editor. In: Zim. Abgerufen am 16. August 2015 (englisch).
  205. Radford Neal: pqR – a pretty quick version of R. In: pqR-project. Radford Neal, abgerufen am 20. Juni 2019 (englisch).
  206. Radford Neal: Packages tested with pqR. In: github.com. Abgerufen am 24. September 2019 (englisch).
  207. Renjin: Why Renjin. In: Renjin. Abgerufen am 19. November 2015 (englisch).
  208. Tomas Kalibera, Petr Maj, Floréal Morandat, Jan Vitek: FastR. In: GitHub. Abgerufen am 19. November 2015 (englisch).
  209. Justin Talbot: a fast interpreter and JIT for R. In: GitHub. Abgerufen am 19. November 2015 (englisch).
  210. Andrew Runnalls: CXXR: Refactorising R into C++. In: University of Kent, School of Computing. University of Kent, abgerufen am 19. November 2015 (englisch).
  211. Alexander Neumann: Programmiersprache R: Microsoft schließt Übernahme von Revolution Analytics ab. In: heise Developer. 8. April 2015, abgerufen am 5. Juli 2015.
  212. Alexander Neumann: Microsofts R Server unterstützt jetzt auch Apache Spark. In: heise Developer. 5. Juli 2016, abgerufen am 11. Juli 2016.
  213. Alexander Neumann: Programmiersprache R: Revolution R Enterprise als Azure-Service verfügbar. In: heise Developer. 4. September 2015, abgerufen am 8. Januar 2016.
  214. Alexander Neumann: Programmiersprache R: Microsoft stellt Analytics-Produkte auf R-Basis vor. In: heise Developer. 7. Januar 2016, abgerufen am 8. Januar 2016.
  215. Rich Calaway: Microsoft R Services 2016 Getting Started Guide. (PDF) In: Microsoft. Microsoft Corporation, abgerufen am 22. Juni 2016 (englisch).
  216. Julia Schmidt: Microsoft SQL Server 2016 soll Analyseszenarien vereinfachen. In: heise Developer. 2. Juni 2016, abgerufen am 11. Juli 2016.
  217. Tibco Spotfire: Unleash the agility of R for the Enterprise. In: Tibco Spotfire. TIBCO Software Inc., abgerufen am 5. Juli 2015 (englisch).
  218. Tibco StreamBase: TIBCO StreamBase. Streaming analytics for accelerating action. In: Tibco StreamBase. TIBCO Software Inc., abgerufen am 12. März 2017 (englisch).
  219. Timothy Prickett Morgan: Oracle rolls its own NoSQL and Hadoop. A supremely confident Ellison mounts the Big Data elephant. In: The Register. Situation Publishing Ltd., 3. Oktober 2011, abgerufen am 5. Juli 2015 (englisch).
  220. Chris Kanaracus: Oracle Stakes Claim in R With Advanced Analytics Launch. In: PCWorld. 8. Februar 2012, abgerufen am 5. Juli 2015 (englisch).
  221. Thomas Hafen: Die wichtigsten Big-Data-Tools aus der Cloud. IBM Analytics. In: Computerwoche. 25. Januar 2016, abgerufen am 2. Februar 2016.
  222. IBM Spectrum Symphony and R. In: IBM Knowledge Center. Abgerufen am 12. März 2017.
  223. Klint Finley: Big Data Team-Up. IBM Netezza and Revolution Analytics Brining R to the Data Warehouse. In: ReadWrite. ReadWrite Inc., abgerufen am 12. März 2017 (englisch).
  224. Alexander Neumann: SAP positioniert HANA auch als Entwicklungsplattform. In: heise Developer. 16. Mai 2012, abgerufen am 5. Juli 2015.
  225. Adrian Bridgwater: Sybase Integrates RAP With R Stat Programming Language. In: Dr. Dobb’s. UBM plc, 10. November 2011, abgerufen am 12. November 2015 (englisch).
  226. Linux-Magazin: HP macht R fit für Big Data. In: Linux-Magazin. 18. Februar 2015, abgerufen am 8. Januar 2016.
  227. MicroStrategy: MicroStrategy R Integration Pack. In: CodePlex. Microsoft Corporation, abgerufen am 29. Juli 2015 (englisch).
  228. WebFOCUS 8. In: Information Builders. Abgerufen am 19. August 2015 (englisch).
  229. R Language Analysis. In: Dundas BI. Abgerufen am 7. August 2015 (englisch).
  230. Elaine Chen: R und Tableau verwenden. In: tableau. Tableau Software Inc., abgerufen am 12. März 2017.
  231. QlikView: QlikView R Connector. In: BI Consult. Qlik Technologies Inc., abgerufen am 12. März 2017 (englisch).
  232. By Platform (Memento vom 26. September 2015 im Internet Archive)
  233. Graham Williams u. a.: R-Paket pmml. Generate PMML for Various Models. In: CRAN. The R Foundation, abgerufen am 12. August 2015 (englisch, aktuelle Version: 1.5.0).
  234. Techila Technologies: Techila Grid Technology. In: Techila Technologies. Techila Technologies Ltd, 26. September 2008, abgerufen am 8. März 2016 (englisch).
  235. icCube: MDX / R Integration. In: icCube. icCube Software SARL, abgerufen am 12. März 2017 (englisch).
  236. Hannes Mühleisen: Embedded R in MonetDB. In: MonetDB. MonetDB B.V., 31. Oktober 2014, archiviert vom Original (nicht mehr online verfügbar) am 13. November 2014; abgerufen am 16. August 2015 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.monetdb.org
  237. SAS Customer Support: R Interface Now Available in SAS/IML Studio. In: SAS. SAS Institute Inc., abgerufen am 5. Juli 2015 (englisch).
  238. JMP Online Documentation: Working with R. In: JMP. SAS Institute Inc., abgerufen am 5. Juli 2015 (englisch).
  239. Catherine Dalzell: Calling R from SPSS. An introduction to the R plug-in for SPSS. In: IBM developerWorks. 31. Oktober 2013, abgerufen am 5. Juli 2015 (englisch).
  240. Robert Henson: MATLAB-Paket R-link. Functions for calling the statistical package R from within MATLAB. In: MATLAB Central. The MathWorks, Inc, 1. Juni 2004, abgerufen am 12. März 2017 (englisch, aktuelle Version: 1.1.0.1).
  241. Maplesoft: Code Generation. In: Maplesoft. Waterloo Maple Inc., abgerufen am 27. Oktober 2015 (englisch).
  242. Sage: SageMath. In: Sage. SageMath Foundation, abgerufen am 12. August 2015 (englisch).
  243. Built-in Integration with R. In: Wolfram. Abgerufen am 5. Juli 2015 (englisch).
  244. Jürgen Schreier: Statistica verfügt jetzt über Schnittstelle zur Programmiersprache R. In: MM MaschinenMarkt. 1. September 2008, abgerufen am 26. Mai 2016.
  245. Allin Cottrell, Riccardo Lucchetti: gretl and R. In: SourceForge. Abgerufen am 12. August 2015 (englisch).
  246. Shogun: Eierlegendewollmilchsau Interface. In: Shogun. Archiviert vom Original (nicht mehr online verfügbar) am 13. März 2017; abgerufen am 12. März 2017 (englisch).
  247. Thomas Ott: RapidMiner vs R. How to use Python and R together with RapidMiner. In: RapidMiner. 13. September 2016, abgerufen am 12. März 2017 (englisch).
  248. KNIME: KNIME and R. (PDF) The best of two worlds. In: KNIME. KNIME.com AG, abgerufen am 12. August 2015 (englisch).
  249. Martin Theus: About. In: Mondrian. theusRus, 29. August 2013, abgerufen am 30. August 2015 (englisch).
  250. ASReml (Memento vom 17. November 2015 im Internet Archive)
  251. Stuart Parkerson: World Programming Releases Free Edition of Big Data Analytics Software. In: App Developer Magazine. 22. April 2016, abgerufen am 26. Mai 2016 (englisch).
  252. Rainer Muche, Stefanie Lanzinger, Michael Rau: Medizinische Statistik mit R und Excel. Einführung in die RExcel- und R-Commander-Oberflächen zur statistischen Auswertung. Springer, Berlin 2011, ISBN 978-3-642-19483-2.
  253. Statconn: Powerful data analysis from inside your favorite application. In: Statconn. Abgerufen am 16. August 2015 (englisch).
  254. Alexander Neumann: Programmiersprache R: Esri baut Brücke für R-Community zu Geoinformationsdaten. In: heise Developer. 21. Juli 2015, abgerufen am 8. Januar 2016.
  255. AFNI: Build R. In: AFNI. National Institutes of Health, abgerufen am 12. März 2017 (englisch).
  256. Bioclipse: Bioclipse-R. In: Bioclipse. International Bioclipse Association, archiviert vom Original (nicht mehr online verfügbar) am 1. September 2015; abgerufen am 16. August 2015 (englisch).
  257. R and GenGIS (Memento vom 15. September 2015 im Internet Archive)
  258. Marcel Austenfeld, Wolfram Beyschlag: A Graphical User Interface for R in a Rich Client Platform for Ecological Modeling. In: Journal of Statistical Software. Band 49, Nr. 4, 2012, S. 1–19 (online).
  259. The R Perspective and Menus (Memento vom 27. September 2015 im Internet Archive)
  260. INVEP: Datenanalyse. In: INVEP. Abgerufen am 26. Mai 2016.
  261. Cytel: Compass 2.0. The Comprehensive Adaptive Dose-finding Solution. In: Cytel. Cytel Inc., abgerufen am 27. Mai 2016 (englisch).
  262. Laurent Gautier: Python-Paket rpy2. Python interface to the R language (embedded R). In: PyPI. Python Software Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.6.4).
  263. Randy Lai u. a.: Julia-Paket RCall. Embedded R within Julia. In: GitHub. Abgerufen am 12. März 2017 (englisch, aktuelle Version: 0.2.1).
  264. Florent Angly, Graciliano Monteiro Passos: Perl-Paket Statistics::R. Perl interface with the R statistical program. In: CPAN. The Perl Foundation, abgerufen am 5. Juli 2015 (englisch, aktuelle Version: 0.33).
  265. Ruby-Paket rsruby (Memento vom 14. Juli 2006 im Internet Archive)
  266. Blue Mountain Capital u. a.: F# R Type Provider. In: GitHub. Abgerufen am 5. Juli 2015 (englisch).
  267. Joseph E. Conway: PL/R Project. R Procedural Language for PostgreSQL. In: JoeConway.com. Abgerufen am 12. März 2017.
  268. rasdaman: Welcome to rasdaman – the World’s Leading Array Database. In: rasdaman. Abgerufen am 8. Oktober 2015 (englisch).
  269. SWIG: SWIG Features. In: SWIG. Abgerufen am 16. August 2015 (englisch).
  270. MicroAPL: APLX: New features in Version 5. In: MicroAPL. MicroAPL Ltd., abgerufen am 16. August 2015 (englisch).
  271. Conda Supports R and Python (Memento vom 27. August 2015 im Internet Archive)
  272. R Filter (Memento vom 26. August 2015 im Internet Archive)
  273. Jeffrey Horner: Web Application Development with R and Apache. In: rApache. Abgerufen am 12. August 2015 (englisch, aktuelle Version: 1.2.5).
  274. Simon Urbanek: About Rserve. In: RForge. The R Foundation, abgerufen am 12. August 2015 (englisch, aktuelle Version: 1.7-3).
  275. Rwui: Create a user friendly web interface for an R script. In: MRC Biostatistics Unit. Cambridge Institute of Public Health, abgerufen am 12. August 2015 (englisch).
  276. LaybKey Server: Configure Scripting Engines. In: LabKey Server. LabKey Software Foundation, abgerufen am 8. Oktober 2015 (englisch).
  277. The R Foundation for Statistical Computing: Statuten des Vereines The R Foundation for Statistical Computing. (PDF) In: CRAN. 10. September 2002, abgerufen am 17. Oktober 2015.
  278. R Core Team: The R Journal. About The R Journal. In: R Project. The R Foundation, abgerufen am 8. Januar 2016 (englisch).
  279. R Core Team: useR! – International R User Conference. In: R Project. The R Foundation, archiviert vom Original (nicht mehr online verfügbar) am 29. Juni 2015; abgerufen am 30. Juni 2015 (englisch).
  280. Gergely Daróczi: R activity around the world. In: rapporter. Abgerufen am 7. August 2015 (englisch).
  281. Everything is R-some: UseR 2016. 16. August 2016, abgerufen am 14. Februar 2020.
  282. Eindrücke von der größten Konferenz für die Data-Science-Sprache R. 18. Juli 2017, abgerufen am 14. Februar 2020.
  283. First useR! conference in Australia a great success. 24. Juli 2018, abgerufen am 14. Februar 2020.
  284. R Core Team: Mailing Lists. In: R Project. The R Foundation, abgerufen am 29. Juli 2015 (englisch).
  285. Alexander Neumann: Programmiersprache R: Konsortium mit breiter Industrieunterstützung gegründet. In: heise Developer. 1. Juli 2015, abgerufen am 21. Juli 2015.
  286. Members. In: R Consortium. Abgerufen am 12. März 2017 (englisch).
  287. Alexander Neumann: IBM tritt dem R Consortium bei. In: heise Developer. 7. Juni 2016, abgerufen am 11. Juli 2016.
  288. Machlis Musings: New $85K package development service backed by R Consortium. In: Computerworld. 2. November 2015, abgerufen am 19. November 2015 (englisch).
  289. Dice: Dice Tech Salary Survey. (PDF) Salaries and Confidence Rise for U.S. Tech Professionals. In: Dice. DHI Group Inc., 29. Januar 2014, S. 9, abgerufen am 30. Juni 2015 (englisch, Teilnehmer: insgesamt 17236 – vorwiegend US-amerikanische – Beschäftigte aus der Technologiebranche).
  290. Rasmus Bååth: The State of Naming Conventions in R. In: The R Journal. Band 4, Nr. 2, 2012, S. 74–75 (r-project.org [PDF; 133 kB]).
  291. Graham Williams: Data Mining with Rattle and R. Springer, New York 2011, ISBN 978-1-4419-9889-7, S. 15–17.
  292. Robert A. Muenchen: R for SAS and SPSS Users. Springer, New York 2011, ISBN 978-1-4614-0684-6, S. 2–5.
  293. Julia schlägt Python, Matlab, Octave und R. In: dotnetpro. 3. April 2012, abgerufen am 12. März 2017.