Welche Änderungen bietet die neue Sprachversion?

R 3.6 erschienen: Neuer Zufallsgenerator, Kontrolle über die Speichernutzung und mehr
Keine Kommentare

Die neueste Version von R ist da und bringt unter anderem überarbeitetes Speicherhandling sowie einen erneuerten Generator für Zufallszahlen mit. Auch an der Nutzung großer Vektoren und am Format zum Speichern von Daten hat das Team hinter der Programmiersprache gearbeitet.

Unter den in R 3.6 enthaltenen neuen Sprachfeatures befinden sich ein überarbeiteter Generator für Zufallszahlen, erweiterte Funktionen für die Arbeit mit großen Vektoren und eine Option zur Begrenzung des Speicherbedarfs. Die dauerhafte Speicherung von Daten wurde ebenfalls aktualisiert.

In R 3.6 wurde die Methode zur Erzeugung zufälliger Integer-Werte innerhalb der sample-Funktion verändert. Ziel dieser Veränderung ist eine gleichmäßigere Verteilung der Ergebnisse, diese war nicht gegeben, wenn man die alte Version der Methode auf große Datenreihen anwendete. Wer weiterhin Zugriff auf die alte Version der Methode braucht, muss lediglich RNGkind(sample.kind=“Rounding“) am Anfang seines Codes notieren.

Veränderte Datenspeicherung in R 3.6

Um serialisierte Daten in der älteren Version 2 des .Rd-Formats zu speichern, muss die Formatversion über readRDS(„mydata.Rd“,version=2) festgelegt werden. Die gleiche Versionsfestlegung muss auch für save und serialize vorgenommen werden, wenn man das alte Format einsetzen will. Die neuere Version 3 des Formats wird erst ab R 3.5 unterstützt. Wer gespeicherte Daten mit 3.4.4 oder einer älteren Sprachversion öffnen möchte, ist also auf die händische Formatfestlegung angewiesen.

Neben dieser Änderung an der permanenten Speicherung hat das R-Team auch an der Nutzung des Arbeitsspeichers gearbeitet. Zum einen wird angegeben, dass R nun weniger Arbeitsspeicher benötigt, zum anderen kann nun festgelegt werden, wie viel RAM überhaupt von R verwendet werden darf. Der generell reduzierte Speicherbedarf wurde durch Veränderungen an drop, unclass, seq und weiteren Funktionen erreicht. Zur Begrenzung der Speichernutzung stehen die Befehle mem.maxVSize(vsize=0) und mem.maxNSize(nsize=0) zur Verfügung. Während sich VSize auf die Speicherkapazität in MB bezieht, definiert NSize die zulässige Höchstzahl von Nodes. Sollte der festgelegte Wert während der Ausführung eines Programms überschritten werden, wird eine Fehlermeldung ausgelöst.

Große Vektoren und weitere neue Neuerungen

Für die Arbeit mit großen Vektoren, damit sind bei R solche mit mehr als zwei Milliarden Elementen gemeint, wurden mehrere Funktionen modifiziert. Darunter befinden sich pmin bzw. pmax zur Ausgabe der parallelen Höchst- und Tiefstwerte des Vektors sowie which. Mit letzterem lässt sich überprüfen, ob Elemente innerhalb eines Vektors eine Bedingung erfüllen. Sollten entsprechende Elemente festgestellt werden, wird ihre jeweilige Position im Vektor ausgegeben.

Zu den weiteren Neuerungen in R 3.6 gehören eine Erweiterung der statistischen Funktionen und einige Fehlerbehebungen. Das Problem unvollständig installierter Pakete wurde in R 3.6 behoben, gleichzeitig wurde der für Pakete nötige Speicherplatz verringert.

Weitere Informationen zur neuesten R-Version stehen auf dem Revolutions-Blog von Microsoft und in der R-Mailingliste zur Verfügung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -