Posts getaggt mit Efficient Data Processing mit R
Effiziente Datenverarbeitung und Programmierung in R

Datenmanipulation und Verarbeitung kann oft eine der zeitaufwendigsten Tätigkeiten in einer statistischen Analyse sein. In diesem Kurs werden Fähigkeiten vermittelt um effizient auch mit größeren Datenmengen in R arbeiten zu können. Nach dem Kurs sollen Teilnehmer in der Lage sein effizient in R arbeiten zu können, sowie Datenvorverarbeitung klarer, einfacher und schneller durchführen zu können.

Es werden Techniken gezeigt um größere Datensätze schnell in R einzulesen und diese effizient zu speichern. Dabei wird das Package data.table als genutzt, welches Transformationen effizient über call-by-references ermöglicht und damit kaum zusätzlicher Speicher verbraucht wird.

Wenn viele Datenvorverarbeitungsschritte nacheinander durchgeführt werden, wird Programmcode schnell unübersichtlich. Zusätzlich werden oft unnötige Zwischenschritte explizit abgespeichert, was zusätzlichen Speicher kosten kann. Die R Packages dplyr und magrittR erlauben sog. chaining-Operatoren, womit Code zur Vorverarbeitung von Analysen wesentlich effizienter und übersichtlicher dargestellt werden kann.

Als letztes Thema wird auf die Verbindung von Datenbanken mit R eingegangen. Nachdem in R Daten immer im Hauptspeicher liegen, kann es sehr langsam werden mit großen Datensätzen zu arbeiten. Mithilfe von Datenbanken können die Daten auf der Festplatte oder in der Cloud gelagert werden und nur die Daten, die R in einem Schritt tatsächlich benötigt, werden dann in den Arbeitsspeicher geladen.

Der Kurs behandelt folgende Themen:

  • Kurze Wiederholung der Grundlagen von R: Erläuterung wichtiger Datentypen & Operatoren

  • Split / Apply / Combine in R: Allgemeinen Vorgang einen Datensatz in kleine Teildatensätze aufzuteilen, auf jedem Teildatensatz Operationen auszuführen und die Ergebnisse wieder zusammenzufügen (ein einfaches Beispiel für Split-Apply-Combine Strategien sind beispielsweise gruppierte Mittelwerte).

  • Relation zu MapReduce

  • Handhabung von Daten mit dem Paket data.table

  • Handhabung von Daten mit den Packages dplyr & magrittR (“Chaining und Pipelining”)

  • Datenbanken:

    • SQL Anfragen mit DBI

    • Vereinfachte Datenbankanbindung mit dplyr

    • Kurzer Ausblick zu R-Pakete für spezielle Datenbanken (MongoDB, MySql, Redis etc.)

Folgende R-Pakete werden behandelt:

  • plyr, dplyr, magrittr

  • sqldf, DBI

  • data.table

Weiterlesen