Programming and Package Building in R

Das Seminar richtet sich an R-NutzerInnen, die sich mit der Programmierung und auch der Paketerstellung beschäftigen wollen!

Lernziele und Agenda

Lernziele
  • Überblick und Grundlagen in der Programmierung in R
  • Kontrollstrukturen in R verstehen: Schleifen und Bedingungen
  • Eigene Funktionen in R erstellen können
  • Continuous Integration/Development in R: Funktionen entlang von Tests erstellen können. 
  • Fehlersuche in Funktionen in R
  • Code-Check mit lintr
  • OOP mit S3, S4 und R
  • Paketerstellung in R
  • Notwendige Pakete zur Paketerstellung: roxygen2, usethis
  • Datensätze in Paketen nutzen
  • Automatisiertes Testen in der Paketentwicklung: testthat-Paket
  • Versionskontrolle mit git 
  • Fallstudie: Erstellen eines eigenen Paketes mit eigenen Funktionen

Agenda

Tag 1:

  • Programmierung in R: Überblick und Grundlagen 
  • Kontrollstrukturen in R: Schleifen und Bedingungen 
  • Eigene Funktionen in R erstellen 
  • Continuous Integration/Development in R: Funktionen entlang von Tests erstellen 
  • Fehlersuche in Funktionen in R: Ansätze und hilfreiche Funktionen
  • Code-Check: Ein Linter für R: Das lintr-Paket
  • OOP in R: S3, S4 und R: Überblick, Grundlagen und Beispiele 
Tag 2:
  • Paketerstellung in R: Grundlagen und Überblick 
  • Erstellung eines Paketes in RStudio: Setup, notwendige Pakete: roxygen2, usethis 
  • Datensätze erstellen und nutzen in Paketen 
  • Automatisiertes Testen in der Paketentwicklung mit dem testthat-Paket: Grundlagen und Umsetzung 
  • Versionskontrolle in R und RStudio: Anbindung von git unter Berücksichtigung von GitHub und GiLlab 
Fallstudie: Erstellen von Funktionen und Integration in ein eigenes Paket

Inhalt

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. 

INHOUSE-SEMINAR

LEIDER KÖNNEN WIR MOMENTAN KEINE OFFENEN SCHULUNGEN IN WIESBADEN DURCHFÜHREN. NUTZEN SIE UNSER WEBINAR-ANGEBOT!

1.290,00
pro Tag bis 4 Teilnehmer zzgl. gesetzlicher Umsatzsteuer

  • Alle Inhalte der Inhouse-Seminare werden individuell zugeschnitten und zielgruppenspezifisch vermittelt.
    Intensive Nachbetreuung ermöglicht den Teilnehmern ihre Kenntnisse in kürzester Zeit umzusetzen
    .
  • Empfohlene Seminardauer: 1 Tag
  • Leihgebühren Schulungsnotebook (auf Wunsch): 35,- Euro (pro Tag, pro Schulungsrechner)
  • Telefon: +49 611 531 500 91
  • E-Mail: training@masem-training.de

firmen webinar

Ideal für das Home-Office oder dezentrale Arbeitsgruppen

€990,00
pro Tag bis 4 Teilnehmer zzgl. gesetzlicher USt - befristetes Angebot bis zum 31.12.2020, danach €1.290,00 netto

  • Bei Seminaren in unserem virtuellen Klassenzimmer genießen Sie alle Vorteile der Inhouse-Seminare. Dabei nutzen Sie Ihre eigenen Rechner und erhalten von uns den gleichen Service in der gleichen hohen Qualität bei weniger Aufwand!
  • Kursdauer: Nach Absprache!
  • Telefon: +49 611 531 500 91
  • E-Mail: training@masem-training.de

Hintergrundinformationen zu R

Sie wollen, ehe Sie ein R Seminar buchen, etwas mehr erfahren, was R ist und kann? R ist eine Programmiersprache, die unter der GNU-Lizenz veröffentlich wurde. Hauptaugenmerk der Sprache liegt auf der Umsetzung statistischer Analysen und der effizienten Erstellung von Grafiken. Historisch ist R aus der (proprietären) Programmiersprache S entstanden, weswegen die beiden in weiten Teilen sehr ähnlich sind. Nachdem R über Jahre vorwiegend im Hochschulbereich eingesetzt wurde, wird seine Leistungsfähigkeit vor allem im Bereich der Data Science sehr geschätzt. Durch über 600 Zusatzpakete (Stand Ende 2019) sind nahezu alle bekannten statistischen Verfahren und Darstellungsmethoden verfügbar. R kann problemlos auf allen gängigen Plattformen (MS Windows Vista/7/8/Server 2008/10, Mac OS X, Linux Redhat/Debian/sus/ubuntu) installiert werden. Mit der Installation von R wird zugleich auch eine Programmierumgebung installiert. Die meisten Anwenderinnen und Anwender verwenden jedoch RStudio® um R möglichst komfortabel zu nutzen. Auch RStudio® ist für fast alle gängigen Betriebssysteme verfügbar und steht in zwei verschiedenen Varianten zur Verfügung. Neben den freien Desktop und Server-Installationen stehen noch kostenpflichtige Angebote zur Verfügung, die darüber hinaus besseren Service und Dashboards und Systeme zur Projektorganisation bereitstellen. Hier finden Sie eine Übersicht über die Unterschiede der einzelnen Systeme. Für die R Seminare die masem training anbietet wird im Regelfall auf die freie Desktop-Installation von RStudio® zurückgegriffen. Shiny® von RStudio® ermöglicht es zudem komfortabel R-basierte Applikationen zu entwickeln, die eine interaktive Datenanalyse für die Betrachter ermöglichen. So können interaktive Grafiken Ihre Daten schnell und aussagekräftig visualisieren oder mit Widgets Tabellen so konstruiert werden, wie sie für die aktuelle Aufgabe benötigt werden.