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

Doubletten ausschließen in R: unique() und wie man es schneller macht

Eine Kundin erzählte mir kürzlich, dass sie die Base R-Funktion unique() nutzt, um Doubletten aus ihren Daten auszuschließen. Sie erhält damit das gewünschte Resultat, allerdings sei ihr Code zu langsam. Zwei Ideen kamen mir, den Code zu beschleunigen: 1. Statt alle Spalten bei der Suche nach Doubletten zu berücksichtigen, müsste eine Auswahl an Spalten genügen … „Doubletten ausschließen in R: unique() und wie man es schneller macht“ weiterlesen

Daten mit R in Blöcken verarbeiten mit iotools: Big Data-Werkzeug

Beim Verarbeiten großen Datenmengen mit R kann man an Grenzen des Arbeitsspeichers stoßen. In R kann das früher geschehen, als man meinen möchte. Wer beispielsweise über 16 GB RAM verfügt und einen 10 GB-Datensatz analysieren möchte, wird feststellen, dass R bei bestimmten Operationen langsam und ineffizient wird. Laut R-Handbuch kann das bereits geschehen, wenn etwa … „Daten mit R in Blöcken verarbeiten mit iotools: Big Data-Werkzeug“ weiterlesen

data.table vs. dplyr und dtplyr: Benchmarks

Zwei der populärsten Pakete zur Datenaufbereitung in R sind data.table (Matt Dowle, Arun Srinivasan, viele Mitarbeiter) und dplyr (Hadley Wickham, viele Mitarbeiter). Während data.table zu Recht den Ruf hat, sehr schnell zu sein, hat dplyr vielen den Einstieg in R enorm erleichtert. Geschwindigkeitsvergleiche: data.table vs. dplyr – beachte dtplyr! Es gibt bereits seit Jahren eine … „data.table vs. dplyr und dtplyr: Benchmarks“ weiterlesen

Gastbeitrag: Die faire Abschlusstabelle der Bundesligasaison 2019/20

Abstract Aufgrund der aktuellen Coronakrise stehen die Sportverbände sämtlicher Sportarten vor der Frage, ob die laufende Saison 2019/20 noch zu Ende gespielt werden kann. Einige Sportverbände wie beispielsweise der Handball haben sich bereits für einen Abbruch der Saison entschieden. Die Handballbundesliga wendet die Quotientenregel an. Hierbei wird der arithmetische Mittelwert der Punkte aus allen bisherigen … „Gastbeitrag: Die faire Abschlusstabelle der Bundesligasaison 2019/20“ weiterlesen

Textantworten (offene Nennungen) automatisch zuordnen in R nach Ähnlichkeit

Wie kann man Textantworten automatisch in R codieren, wenn es viele ähnliche, aber nicht exakt gleiche Einträge gibt?

Mit dem R-Paket tidystringdist!

Wie kann man Textantworten automatisch in R codieren, wenn es viele ähnliche, aber nicht exakt gleiche Einträge gibt?

Mit dem R-Paket tidystringdist!

Textantworten (offene Nennungen) codieren mit R: stringr und regex

Oft wird ein großer Teil der Projektzeit nicht für die spannenden Modelle, sondern für die meist etwas weniger spannend empfundene Datenaufbereitung verwendet. Ein typischer Stolperstein dabei ist die Codierung von Textantworten (offene Nennungen). Wie können wir uns diese Arbeit mit R erleichtern? Anhand eines einfachen Beispiels („Warum treiben Sie Sport?“) beginnen wir mit einer Zuordnung … „Textantworten (offene Nennungen) codieren mit R: stringr und regex“ weiterlesen

Große Datenmengen visualisieren mit R, ggplot2 und trelliscopejs

Datenvisualisierung: Wie kann man große Datenmengen in R so darstellen, dass sie gut lesbar sind und viele Informationen preisgeben? „Große Datenmengen“ verstehen wir hier im Sinne von „viele Untergruppen“, nicht unbedingt im Sinne von vielen Gigabyte. Wer versiert ist, denkt vielleicht an eine Shiny App, die große Flexibilität und viele Nutzereinstellungen erlaubt. Wir suchen heute … „Große Datenmengen visualisieren mit R, ggplot2 und trelliscopejs“ weiterlesen