Programmieren in R
Der Kurs kann im Rahmen unseres Data Analysis Bootcamp in R (siehe Modul 3) separat gebucht werden.
Dieser Kurs dient der allgemeinen Vertiefung in R und richtet sich an Teilnehmer, die bereits erste Erfahrungen mit R gesammelt haben (z.B. im Basiskurs oder im Selbststudium). Aufbauend auf grundlegenden R-Kenntnissen werden einfache Techniken vermittelt, mittels derer sich R leichter und effizienter bedienen lässt. Zudem wird darauf eingegangen, wie sich statistische Ergebnisse aus R Code automatisch und dynamisch in Berichten einbinden lässt (automatisiertes Reporting).
Alle vorgestellten Themen werden ausführlich erläutert, vorgeführt und mit Hilfe von Übungsaufgaben von den Teilnehmern unter intensiver Aufsicht eingeübt. Kurssprache und Kursunterlagen sind auf Deutsch.
Der Kurs behandelt folgende Themen:
Kurse Wiederholung in R
Datentypen (Vektoren, Matrizen, Data Frames etc.)
Arbeitsverzeichnisse, Speichern und Laden
Umgang mit Strings
Programmieren mit R
Kontrollstrukturen (if, else) für bedingte Anweisungen
Anwenden von Schleifen (for, while) und apply Funktionen
Vektorisierung (Apply - Familie in R)
Schreiben eigener Funktionen in R um Analysen zu automatisieren
Best Practices für Programmierung in R und Softwareentwicklung
Debugging
Hilfswerkzeuge: Laufzeitanalyse, Debugging, Exception und Error Handling
Effizienter Code (Prinzipien, C-Integration in R, Parallelisierung)
Einführung in die objektorientierte Programmierung mit R und das R Klassensystem
Codestyle
Allgemeine Prinzipien (Namensgebung, Formatierung, Kommentare, Software - Design)
Wie schreibt man debugbaren Code?
Einführung in die Paketentwicklung in R
Einführung in das am häufigsten verwendete S3 Klassensystem (inkl. Hauptunterschiede zum zweit-häufigsten R6 Klassensystem)
Arbeiten mit dem 'devtools' Paket zur Paketentwicklung
Moderne Paketdokumentation mit 'roxygen2'
Vignetten mit 'knitr'
Moderne Unit-Tests mit 'testthat'
Folgende R-Pakete werden behandelt:
microbenchmark
devtools
roxygen2
knitr
testthat
Vorkenntnisse:
Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)
Allgemeine Programmierfahrung von Vorteil.
Windowsnutzer sollten zusätzlich 'Rtools' installiert haben.