Programmiersprache R erreicht Version 4.0.0
Das aktuelle Release der Statistiksprache setzt auf Perl Compatible Regular Expressions 2 und hält dutzende neue Features bereit.
- Alexander Neumann
- Madeleine Domogalla
Das Kernteam hinter der Programmiersprache R hat das vierte Major-Release veröffentlicht. Das neueste Update führt neben wichtigen Änderungen einige neue Funktionen ein.
Mit dem Update auf R 4.0.0 müssen Entwickler eine Vielzahl der Packages (neu-) installieren. Unter den zahlreichen Änderungen ist zu erwähnen, dass R für Matrix-Objekte nun auch S3-Methoden der array
-Klasse bereitstellt und Matrix-Objekte von der Klasse array
erben. Aus class(daig(1))
wird c("matrix", "array")
. Zu beachten ist, dass Code fälschlicherweise als ungültig eingestuft wird, wenn R davon ausgeht, dass class(matrix_obj))
die Länge eins hat.
Die Programmiersprache legt in der vierten Major-Version stringAsFactors = FALSE
als Standard fest. Das hat zur Folge, dass das Aufrufen von data.frame()
und read.table()
Strings standardmäßig nicht mehr in Faktoren konvertiert. Ziel ist es, die Notwendigkeit des Kopierens in einigen Fällen zu verringern und in Zukunft weitere Optimierungen zu ermöglichen. Entwickler sollen auf diese Weise ihren Code besser pflegen können. Informationen zu weiteren Breaking Changes finden sich in der Release Note.
Referenzzählung und die Migration zu PCRE2
Anstelle des NAMED-Mechanismus verwendet Version 4.0.0 von R die Referenzzählung, um zu bestimmen, wann sich Objekte sicher in Basis-C-Code ändern lassen. Das Entwicklerteam hinter R erwartet jedoch keine großen Auswirkungen der Änderung auf Pakete, die auf unterstützte Codierungskonventionen in ihrem C/C++-Code zurückgreifen.
Für die Builds von R 4.0.0 greift das Entwicklerteam auf die PCRE2-Bibliothek (Perl Compatible Regular Expressions) zurück, wenn reguläre Ausdrücke erforderlich sind. Da PCRE1 (alle Versionen bis einschließlich PCRE 8.44) nicht mehr weiterentwickelt wird und lediglich noch Fehlerbereinigungen erhält, empfiehlt das R-Entwicklerteam den Einsatz von PCRE2 – vorzugsweise Version 10.30 oder neuer. PCRE1 sollte lediglich auf Nicht-Windows-Plattformen optional zum Einsatz kommen, für die PCRE2 noch nicht verfügbar ist. Die jeweils verwendete PCRE-Version lässt sich über extSoftVersion()
ermitteln.
Neben Breaking Changes gibt es neue Features
Die Methoden assertError()
und assertWarning()
im Paket Tools können mithilfe der neu eingeführten optionalen zweiten Argument-Klassen auf bestimmte Fehler- oder Warnklassen prüfen. Die Argument-Klassen sind nicht mit vorher verwendeten Klassen dieser Art kompatibel.
Neu ist auch, dass DF2formula()
, das Hilfsprogramm fĂĽr die Data-Frame-Methode von formula()
, ohne Parsing und explizite Auswertung funktioniert. DarĂĽber hinaus unterstĂĽtzt R 4.0.0 lange Vektoren als seq
-Argument einer for()
-Schleife. AuĂźerdem konvertiert die Methode data.matrix()
Zeichenfolgen in Faktoren und von diesen in Integers.
R 4.0.0 fĂĽhrt s3method()
als neue Funktion ein. Damit lassen sich S3-Methoden in R-Skripten registrieren. Eine Liste aller neuen Features finden sich in der Release Note zu R 4.0.0. Der kanadische Statistiker und Autor des Open-Source-Softwarepakets Rcpp, Dirk Eddelbuettel, gibt in einem Videobeitrag bei R-bloggers Hinweise zum Upgrade auf R 4.0.0:
Was ist R?
Heute ist R wahrscheinlich die Programmiersprache Nummer eins, um statistische Aufgaben mit einer Sprache anzugehen. Deswegen lässt sich schon geraume Zeit ein Boom rund um R konstatieren. In Zeiten von Machine Learning und einer erfolgversprechenden Renaissance von Künstlicher Intelligenz steht die Sprache neben anderen wie Python oder Scala. Datenwissenschaftler und andere Berufsgruppen kommen tendenziell nicht an R vorbei. R feierte im Jahr 2018 sein 25-jähriges Jubiläum.
Als flexible Programmiersprache für statistische Datenanalyse und -visualisierung zählt R zu den wichtigsten Werkzeugen für Data Scientists. Daher gehören Vorträge und Workshops rund um R auch fest in das Programm der data2day.
Jetzt noch Vorschläge beim Call for Proposals bis zum 11. Mai einreichen!
R ist eine Open-Source-Entwicklungsumgebung für statistische Analysen, vergleichbar mit anderen statistischen Softwarepaketen wie MATLAB, SAS Enterprise Miner oder SPSS Statistics. Sie basiert auf einer eigenen Skriptsprache, die für mathematische Berechnungen optimiert ist. R erlaubt es, Datensätze aus viele Datenquellen zu laden, diese zu transformieren und anschließend zu untersuchen. So gewonnene Einsichten sind wertvoll und lassen sich häufig zu Vorhersagemodelle weiterentwickeln. R bietet darüber hinaus eine Menge an domänenspezifischen Erweiterungen für besondere statistische Verfahren oder Visualisierungen. Die erste Major-Version ist am 29. Februar 2000 erschienen.
Große Unternehmen wie SAP, Oracle, Facebook, Google und vor allem in jüngster Zeit Microsoft betrachten die Sprache als strategisch wichtig und haben die Unterstützung für sie in ihren Angeboten massiv ausgebaut. In Gegensatz zu den genannten Programmiersprachen müssen bei R die Programmierfähigkeiten nicht im Vordergrund stehen – ein Vorteil, wenn es darum geht, auch Nicht-Informatikern mit den Möglichkeiten der Sprache zu helfen. (mdo)