R-Code für den Produktivbetrieb

R-Code für den Produktivbetrieb

Wir bieten eine Vielzahl verschiedener Einzelmodule an, die sich flexibel kombinieren lassen. Wir unterstützen Sie gerne dabei, Ihr individuelles Training zusammenzustellen.

Sobald Code produktiv genutzt wird, sind die Anforderungen ungleich höher als bei bloßer interaktiver Verwendung. Die folgenden Module helfen Ihnen dabei, Ihre Arbeit mit R zu professionalisieren, robusten, gut getesteten Code zu schreiben und zuverlässige Ergebnisse automatisiert zu produzieren.

Modul 5.1 Programmieren mit R: Funktionen und Kontrollstrukturen

Voraussetzungen: Einführung in R (Modul 1.1 oder vergleichbare Fähigkeiten)

R ist im Wesentlichen eine funktionale Programmiersprache. Das bedeutet, dass Funktionen das zentrale Element von Software und Analysen sind. In diesem Modul beschäftigen wir uns intensiv mit dem Schreiben von Funktionen in R. Darüber hinaus behandeln wir Kontrollstrukturen wie Schleifen, apply-Funktionen und if-else-Bedingungen. Nützliche Debugging- Techniken helfen dabei, bei Fehlern die Ursache schnell zu identifizieren.

Dauer: ca. 4 Stunden

Modul 5.2 Code-Performance

Voraussetzungen: Einführung in R (Modul 1.1 oder vergleichbare Fähigkeiten)

Code kann sehr unterschiedlich schnell sein, je nachdem, wie er geschrieben wurde. In diesem Modul beschäftigen wir uns damit, die Laufzeit von Code korrekt zu messen, herauszufinden, welcher Teil des Codes wie viel Zeit benötigt und die Laufzeit zu optimieren.

Dauer: ca. 1 Stunde

Modul 5.3 Erstellen von R-Paketen

Voraussetzungen: Programmieren mit R (Modul 5.1)

Auch wenn sie keine neuen Tools oder Methoden mit R veröffentlichen wollen, ist es sehr empfehlenswert, mit R-Paketen zu arbeiten. Die Vorteile liegen auf der Hand: Sie können Ihre Funktionen einfach an Ihre Kollegen oder Kunden weitergeben. Dabei sorgen Pakete selbst dafür, dass alle notwendigen Abhängigkeiten auch vorhanden sind. Zudem bieten sie die Möglichkeit, die eigene Arbeit zu dokumentieren oder automatische Reports und Tools in eine soliden Struktur zu packen. Außerdem wird es durch Pakete erst möglich, Code systematisch und automatisiert zu testen.

Dauer: ca. 5 Stunden

Modul 5.4 Objektorientierte Programmierung

Voraussetzungen: Programmieren mit R (Modul 5.1 oder vergleichbare Fähigkeiten)

Die objektorientierte Programmierung ist zum Industriestandard in der Softwareentwicklung geworden. R bietet in diesem Zusammenhang verschiedene Systeme an. Neben einem Überblick über bestehende Möglichkeiten beschäftigen wir uns insbesondere mit sogenannten S3-Klassen und -Methoden. Der Umgang mit diesem System ist nicht nur leicht zu erlernen, es ist auch das am häufigsten verwendete System in R.

Dauer: ca. 2 Stunden

Modul 5.5 Continuous Integration und Continuous Deployment

Voraussetzungen: Programmieren mit R (Modul 5.1 oder vergleichbare Fähigkeiten), Erstellen von R-Paketen (Modul 5.3 oder vergleichbare Fähigkeiten)

Mit Systemen für Continuous Integration (CI) lassen sich Test- und Deployment-Abläufe vereinfachen und automatisieren. Dadurch vermeiden Sie fehleranfällige Prozesse, die beispielsweise durch manuelles Testen entstehen können. In diesem Modul behandeln wir die gängigsten Tools, Jenkins und Travis, und profitieren von ihrer GitHub-Integration.

Dauer: ca. 3 Stunden

Modul 5.6 Docker-Container

Voraussetzungen: Programmieren mit R (Modul 5.1 oder vergleichbare Fähigkeiten); Erstellen von R-Paketen (Modul 5.3 oder vergleichbare Fähigkeiten)

Mit Docker gewinnen Sie komplette Unabhängigkeit von Ihrem aktuellen Betriebssystem, der R-Version und installierten Paketen. Dadurch werden Ihr Code und Ihre Anwendungen robuster und portabler. In diesem Modul erstellen wir Docker-Images mit R, führen Code in einem Docker-Container aus und debuggen ihn.

Dauer: ca. 3 Stunden