Das große R-Sprachupdate bringt große Änderungen mit sich

Die Version 4.0.0 der R-Sprache für statistische Berechnungen wurde veröffentlicht, mit Änderungen an der Syntax der Sprache sowie an Funktionen zur Fehlerprüfung und zu langen Vektoren.

Das Upgrade wurde am 24. April veröffentlicht. Der Quellcode für R 4.0.0 ist unter cran.r-project.org verfügbar. Als GNU-Projekt hat R mit dem Aufstieg der Datenwissenschaft und des maschinellen Lernens an Fahrt gewonnen und belegt derzeit den 10. Platz im Tiobe-Index für die Popularität von Sprachen und den siebten Platz im PyPL-Index für die Popularität von Programmiersprachen.

Zugehöriges Video: Neue R 4.0-Funktionen

In R 4.0.0 eingeführte Änderungen und Funktionen umfassen:

  • Es wird eine neue Syntax zum Angeben von _raw_-Zeichenkonstanten angeboten, die der in C ++ verwendeten ähneln r"..."und zum Definieren einer Literalzeichenfolge verwendet werden  können. Dies erleichtert das Schreiben von Zeichenfolgen, die Backslashes oder einfache und doppelte Anführungszeichen enthalten.
  • Die Sprache verwendet jetzt einen stringAsFactors = FALSEStandardwert und konvertiert daher standardmäßig keine Zeichenfolgen mehr in Faktoren bei Aufrufen von data.frame()und read.table(). Viele Pakete stützten sich auf das vorherige Verhalten und müssen aktualisiert werden.
  • Die generische S3-Funktion befindet sich plot()jetzt in der Paketbasis und nicht mehr in der Paketgrafik. Es ist sinnvoll, Methoden zu haben, die das Grafikpaket nicht verwenden. Das Generikum wird derzeit erneut aus dem Grafik-Namespace exportiert, damit Pakete, die es von dort importieren, weiter funktionieren können. Dies könnte sich jedoch in Zukunft ändern. Pakete, für die S4-Grafiken definiert sind, plot()sollten neu installiert werden, und Paketcode, der solche Generika aus anderen Paketen verwendet, muss sicherstellen, dass sie importiert werden, anstatt sich darauf zu verlassen, dass im Suchpfad gesucht wird.
  • S3-Methoden für Klassenarrays werden jetzt für Matrixobjekte ausgeliefert.
  • Die Referenzzählung wird jetzt anstelle des NAMED-Mechanismus verwendet, um zu bestimmen, wann Objekte sicher in Basis-C-Code mutiert werden können. Dies reduziert in einigen Fällen den Kopierbedarf und sollte zukünftige Optimierungen ermöglichen. Es wird auch erwartet, dass es die Wartung des internen Codes erleichtert.
  • assertError()und assertWarning()in Paket - Tools können sich nun für spezifi Fehler oder eine Warnung Klassen über die neue optionale zweite Argument classes.
  • DF2formula(), das Dienstprogramm für die Datenrahmenmethode formula(), funktioniert jetzt ohne Analyse und explizite Auswertung.
  • Lange Vektoren werden jetzt als seqArgument einer for()Schleife unterstützt.
  • matrix() Konvertiert jetzt Zeichenspalten in Faktoren und Faktoren in Ganzzahlen.
  • skeleton() listet jetzt explizit alle Exporte in der NAMESPACE-Datei auf.
  • Die interne Implementierung von Netzeinheiten hat sich geändert. Die einzigen sichtbaren Auswirkungen auf Benutzerebene sollte für einige Einheiten, schnellere Leistung für Grundoperationen und zwei neue Funktionen, eine etwas andere Druckformat sein unitType()und unit.psum().
  • Beim Drucken wird methods (..)jetzt eine neue format()Methode verwendet.
  • Pakete müssen unter der neuen Version von R neu installiert werden.
  • Diese Version von R basiert auf der PCRE2-Bibliothek für Perl-ähnliche reguläre Ausdrücke, sofern verfügbar.
  • Die Anfänge der Unterstützung für C ++ 20.
  • Die zum Starten eines homogenen PSOCK-Clusters auf localhost mit vielen Knoten erforderliche Zeit wurde erheblich reduziert.
  • Es gibt auch eine Reihe von Abschreibungen. Das Makro F77_VISIBILITY wurde beispielsweise entfernt und durch F_VISIBILITY ersetzt. Die veraltete Unterstützung für die Angabe von C ++ 98 für die Paketinstallation wurde entfernt. und viele nicht mehr funktionierende Funktionen wurden aus den Basis- und Methodenpaketen entfernt.