Der Kurs richtet sich an R NutzerInnen, die die nächste Stufe in der Arbeit mit R zünden wollen!
Die Programmierung in R und die Paketerstellung eröffnen zahlreiche Möglichkeiten und Freiräume in der Lösung von umfassenderen Aufgabenstellungen. Insbesondere in Projekten bietet die Erstellung eines eigenen - nicht öffentlichen - Pakets (nicht jedes Paket muss auf dem CRAN veröffentlicht werden) zahlreiche Vorteile: Funktionen werden zentral vorgehalten, Updates können leicht intern (z.B. über einen Mini-CRAN) ausgerollt werden, automatisierte Tests sind möglich, arbeiten im Team ist wesentlich einfacher, Versionskontrolle mittels git stellt gar kein Problem mehr da, um nur einige Gründe zu nennen. Dabei ist das Erstellen eigener Funktionen und Pakete in R nicht schwierig, weil R bereits einem modularisierten Aufbau folgt.
Im ersten Teil werden Kenntnisse in der Programmierung in R vermittelt. Neben den notwendigen Fähigkeiten zur Funktionserstellung wird auch in die objektoriente Programmierung mittels S3, S4 und R6 eingeführt. Funktionen sollen dabei immer auch getestet werden, zuerst noch manuell, im zweiten Teil dann mittels Paket testthat. Um Funktionen sinnvoll erstellen zu können, werden Kontrollstrukturen in R (Schleifen und Bedingungen) vermittelt. Es stehen die typischen Möglichkeiten zur Fehlersuche in Funktionen in R zur Verfügung.
Im zweiten Teil werden dann die erstellten Funktionen in ein eigenes Paket gegossen. Dazu stellt RStudio hilfreiche Funktionalitäten zur Verfügung, die zuerst gezeigt werden. Dann geht es auch direkt los! Zu einem Paket gehören neben Funktionen auch Hilfetexte, Beipieldaten und Tests: Hilfetexte können mittels roxygen2-Paket direkt in RStudio angelegt werden. Beispieldaten werden mittels usethis-Paket erzeugt. Das Paket testthat nutzen wir dann für das Erstellen von Tests, die in RStudio angestoßen werden können. Damit das agile Arbeiten im Team nahtlos klappt, ist eine Versionierung mittels git sinnvoll. Als Frontend können hier github oder gitlab genutzt werden, auf den Desktop-Rechnern sourcetree oder einfach RStudio.
Dies ist kein theoretischer Kurs: Alles wird immer praktisch in R demonstriert und in einer Fallstudie in R/RStudio umgesetzt.