Im April wurde turnusmäßig eine neue R-Version veröffentlicht: 4.5.0. Was ist neu – und lohnt sich ein zeitnahes Update? Spoiler: Ja! Unter anderem wurde R in mehrerlei Hinsicht schneller.
Es gibt eine Menge Änderungen, die man mit news() in der R-Konsole aufrufen kann.
Schnellere Paket-Installationen
install.packages() und download.packages() können nun mehrere Pakete gleichzeitig herunterladen dank libcurl und dadurch Installationszeiten drastisch verkürzen.
Nur bestimmte Funktionen aus Paketen laden: use()
In Python ist es üblich, spezifische Funktionen aus Modulen zu importieren, zum Beispiel so:
from numpy import array array([1, 2, 3])
Oder man importiert Pakete und spricht sie mit dem Namespace an, etwa so:
import numpy numpy.array([1, 2, 3])
In R wurden bisher Pakete immer komplett geladen, mit gelegentlichen Namenskonflikten (gleich benannten Funktionen in verschiedenen Paketen), wie zum Beispiel an den Startmeldungen von dplyr oder dem tidyverse ersichtlich:
> library(dplyr) Attache Paket: ‘dplyr’ Die folgenden Objekte sind maskiert von ‘package:stats’: filter, lag
Die numpy.array()-Entsprechung in R war die Schreibweise Paket::funktion(), wie in dplyr::filter().
Nun gibt es eine Python-ähnliche Alternative in R zu from numpy import array: use().
use("dplyr", c("filter", "select"))
Bei dieser Variante werden andere dplyr-Funktionen wie zum Beispiel mutate() oder n_distinct() nicht importiert!
Bin gespannt, ob sich das durchsetzt. Was meint Ihr?
Ähnliches war bisher bereits mit den Paketen {box} sowie {import} möglich.
Neue, schnellere Routinen für lineare Algebra
Die Bibliotheken für lineare Algebra BLAS und LAPACK erhielten Updates (LAPACK 3.12.1, Januar 2025), es sind Geschwindigkeits- und Effizienzgewinne zu erwarten.
Notfalls ist es möglich, mehrere R-Versionen zu betreiben; in RStudio kann man unter Tools – Global Options per Drop Down-Feld wechseln. Siehe auch rig.
Zudem verwendet R jetzt den C23-Compiler für C-Code, falls auf dem System vorhanden.
Neue Datensätze
Nach langer Zeit wurden der Basis-Installation neue Datensätze hinzugefügt! Das letzte Mal geschah das anscheinend bei Version 3.0.2 – das müsste 2013 gewesen sein, vor läppischen 12 Jahren. (Damals war es npk, der aus dem MASS-Paket übernommen wurde.)

Artwork by @allison_horst
Neu ist nun palmerpenguins, der seit einigen Jahren dank des palmerpenguins-Pakets bereits populär wurde. Die Datensätze heißen penguins (anders als im Paket) sowie penguins_raw. Auch die Variablennamen im neuen Base R-Datensatz unterscheiden sich zur Paketversion – sie sind kürzer, z. B. bill_len statt bill_length usw.
Zu diesen Daten siehe:
- Gorman, K. B., Williams, T. D. and Fraser, W. R. (2014) Ecological Sexual Dimorphism and Environmental Variability within a Community of Antarctic Penguins (Genus Pygoscelis). PLoS ONE 9, 3, e90081; doi:10.1371/journal.pone.0090081.
- Horst, A. M., Hill, A. P. and Gorman, K. B. (2022) Palmer Archipelago Penguins Data in the palmerpenguins R Package – An Alternative to Anderson’s Irises. R Journal 14, 1; doi:10.32614/RJ-2022-020.
- Kaye, E., Turner, H., Gorman, K. B., Horst, A. M. and Hill, A. P. (2025) Preparing the Palmer Penguins Data for the datasets Package in R. doi:10.5281/zenodo.14902740.
Es gibt noch einen weiteren neuen Datensatz in R: gait – dank Heather Turner und Ella Kaye. Er enthält Hüft- und Kniewinkel (in Grad) durch einen 20-Punkte-Bewegungszyklus für 39 Jungen, gespeichert als 3D-Array. Die Beispiele enthalten schicke Visualisierungen.
Literatur dazu:
- Olshen, R. A., Biden, E. N., Wyatt, M. P., and Sutherland, D. (1989) Gait Analysis and the Bootstrap. Annals of Statistics 17, 4, 1419–1440. doi:10.1214/AOS/1176347372
- Ramsay, J. O., and Silverman, B. W. (2006) Functional Data Analysis, 2nd ed., New York: Springer.
- Ramsay, J. (2023) fda: Functional Data Analysis. R package version 6.1.4, https://CRAN.R-project.org/package=fda.
R-Version 4.5.0: Lohnt sich das Update?
Aus meinen R-Schulungen weiß ich, dass nicht jeder Anwender so einfach updaten kann – in vielen Firmen oder Behörden entscheidet das die IT-Abteilung. Bei Versionssprüngen der zweiten Stelle („minor“) kommt hinzu, dass alle Erweiterungspakete neu installiert werden müssen. In RStudio ist das allerdings nicht allzu schlimm, da library()-Aufrufe in Skripten seit einiger Zeit automatisch erkannt werden und man bequem per Klick die Paket-Installation bestätigen kann (vorausgesetzt natürlich, man verfügt über die erforderlichen Rechte).
Falls irgend möglich, würde ich das Update so bald wie möglich machen. Die Neuerungen sind es meines Erachtens wert!
Vergleiche den englischsprachigen Beitrag von Nick Tierney sowie den Blogartikel bei Jumping Rivers.
Einen ähnlichen Artikel habe ich bereits zur R-Version 4.4.0 geschrieben.
Siehe auch den etwas älteren Beitrag R 4.1.0: Base R Pipe! |>.