Effiziente Datenverarbeitung und Programmierung in R

Der Kurs kann im Rahmen unseres Data Analysis Bootcamp in R (siehe Modul 3) separat gebucht werden.


split_apply_combine.jpg

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:

Themenschwerpunkte Teil 1: Effiziente Datenverarbeitung in R

  • Kurzer Überblick wichtiger R packages für fortgeschrittene Datenanalyse 

  • Schnelle und intuitive Datenmanipulation mit dem dplyr Package:
    Wenn viele Datenvorverarbeitungsschritte nacheinander durchgeführt werden, wird Programmcode schnell unübersichtlich und ineffizient (z.B. durch abspeichern unnötiger Zwischenschritte). Das dplyr Package erlaubt sog. chaining-Operatoren, womit R Code wesentlich effizienter und übersichtlicher dargestellt werden kann.

  • Datenbanken in R

    • Einführung in das DBI package und der Nutzung von SQL Anfragen direkt in R

    • Vereinfachte Datenbankanbindung mit dplyr und dbplyr

    • Kurzer Ausblick zu weiteren R Paketen für spezielle Datenbanken

  • Automatisierte Berichterstellung, Reporting und literate Programming

    • Einführung in die Markdown Syntax mit Hilfe der Erweiterungspakete rmarkdown bzw. knitr.

    • Automatisierte Erstellung von dynamischen Berichten und Präsentationen, um wiederkehrende Analysen zeitsparend zu produzieren und voll reproduzierbar zu gestalten.

    • Professionelle Präsentation von Analyseergebnissen durch das gleichzeitige Einbinden von Grafiken, Tabellen und R-Code in Berichten ohne Copy & Paste, z.B. in Dateiformate wie PDF, Word oder HTML.

Themenschwerpunkte Teil 2: Fortgeschrittene R Programmierung

  • Programming with R: Basics

    • Anwenden von Kontrollstrukturen (if, else) für bedingte Anweisungen (sog. WENN-DANN-SONST Funktionalität).

    • Anwenden von Schleifen (for, while) und apply Funktionen für das effiziente Ausführen von repetitiven und iterativem R-Code.

    • Debugging, Exception und Error Handling

    • Einführung in die objektorientierte Programmierung mit R mit den beiden beliebtesten Klassensystemen S3 und R6.

  • Effizientes Arbeiten mit tabularen Daten und dem data.table Package: Filtering, Selecting, Grouping, Reshaping.

  • 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.

  • Effiziente Datenverarbeitung mit funktionaler Programmierung und dem purrr Package: Arbeiten mit Listen und genesteten Datenstrukturen.

  • Parallelisierung von R Code

Software R: dplyr, data.table, DBI, tidyverse, R6, purrr, future, foreach, knitr

Voraussetzungen:

  • Kenntnisse in R (etwa im Umfang vom R Basiskurs oder R Crashkurs)

  • Allgemeines Grundverständnis in der Datenanalyse / Statistik



Anstehende Kurse

Kein passender Kurs verfügbar? Kein Problem, wir richten unser Kursprogramm direkt nach dem Interesse unserer Kunden aus. Teilen Sie uns Ihr Interesse mit und profitieren zusätzlich durch einen 10% bzw. 20% Rabatt.