Fortschrittsbalken anzeigen und Code parallelisieren in R: progressr und future

Heute will ich zwei Fliegen mit einer Klappe schlagen: Einen Fortschrittsbalken in R implementieren R-Code parallel ausführen (d. h. auf mehreren Prozessorkernen gleichzeitig) R-Pakete: progressr und future Für die Umsetzung des Fortschrittsbalkens habe ich mich für progressr von Henrik Bengtsson entschieden. Es bietet eine leistungsfähige API (Schnittstelle), sodass man nicht nur im Paket enthaltene Fortschrittsbalken … „Fortschrittsbalken anzeigen und Code parallelisieren in R: progressr und future“ weiterlesen

Schleifen parallelisieren in R mit foreach

Schleifen haben einen schlechten Ruf in R: Sie gelten nicht zu unrecht als langsam. Oft ist es möglich, Schleifen zu vermeiden, etwa durch vektorisierte Funktionen, mit Funktionen aus der apply-Familie (wie lapply) oder mit map-Funktionen aus dem purrr-Paket. Manchmal wäre es jedoch recht aufwändig, R-Code so umzuschreiben, dass Schleifen eliminiert werden. Dann ist es nützlich, … „Schleifen parallelisieren in R mit foreach“ weiterlesen

R-Code parallelisieren bei unterschiedlichen Laufzeiten: clusterApplyLB()

In einem früheren Beitrag / Video nutzten wir die clusterApply()-Funktion, um R-Code zu parallelisieren. Wie sieht es aus, wenn sich die Laufzeiten der einzelnen Aufgaben deutlich unterscheiden? Zu Demonstrationszwecken stellen wir eine simple Aufgabe: Sys.sleep, das heißt „Pause machen“. In realen Anwendungen stehen hier dann Berechnungen / Datenoperationen, die unterschiedlich lange dauern. Vorbereitung der Parallelisierung … „R-Code parallelisieren bei unterschiedlichen Laufzeiten: clusterApplyLB()“ weiterlesen

R-Code parallelisieren mit parallel::clusterApply()

R-Code ist oft schnell zu schreiben, aber nicht immer schnell genug in der Ausführung. Eine Methode, dem abzuhelfen, besteht darin, R-Code zu parallelisieren, d. h. mehrere Prozessorkerne oder mehrere Arbeiter einzusetzen. Das parallel-Paket, das zur Base-R-Installation gehört, bietet mit der clusterApply()-Funktion eine elegante Möglichkeit. Parallelisierung: Vorgehen und Vorbereitung Ziel ist es, 200 Regressionsmodelle mit jeweils … „R-Code parallelisieren mit parallel::clusterApply()“ weiterlesen

R-Zertifizierung: R Programming Track (DataCamp)

Seit knapp 1,5 Jahren bin ich bei DataCamp registriert. In dieser Zeit wurde das Kursangebot erheblich erweitert. Zwischenzeitlich hatte ich mal einen großen Teil der Kurse absolviert – inzwischen sind sehr viele neue hinzugekommen. Aber nicht nur Kurse – auch der Aufbau des Kursangebots wurde besser strukturiert. Seit nicht allzu langer Zeit gibt es „Tracks“, … „R-Zertifizierung: R Programming Track (DataCamp)“ weiterlesen

Die ersten R-Zertifizierungen: Einführung in R, Intermediate R – Datacamp

Zeit, das R-Wissen zu zertifizieren. Hier die ersten beiden: DataCamp: Introduction to R / Einführung in R Da ich mich schon einige Zeit mit R beschäftigt hatte, war der Einführungskurs schnell absolviert. Es ging u. a. um folgende Themen: R als Rechner Variablenzuweisungen, Datentypen Vektoren und Matrizen Faktoren und Datensätze Listen Zweiter Kurs: Intermediate R … „Die ersten R-Zertifizierungen: Einführung in R, Intermediate R – Datacamp“ weiterlesen

R-Programmierung: R-Funktionen auf Variablenliste anwenden (mit Video)

Wie kann man R-Funktionen auf eine lange Variablenliste anwenden, ohne jeden einzelnen Variablennamen eintippen zu müssen? Das wird am Beispiel eines Datensatzes mit 235 NIR-Wellenlängen (NIR = near infrared spectroscopy) gezeigt. Dazu werden 235 einfache lineare Regressionsmodelle mit jeweils einer unabhängigen (und einer abhängigen) Variable aufgestellt, um dann die R²-Werte grafisch zu vergleichen. Es wird gezeigt, … „R-Programmierung: R-Funktionen auf Variablenliste anwenden (mit Video)“ weiterlesen