Posts getaggt mit R
Reproducible Data Science mit R

Die Fähigkeit flexible, visuell ansprechende und audrucksstarke Abbildungen zu erstellen ist ein essentieller Schritt in der Datenanalyse.

Von explorativer Datenanalyse über die Visualisierung von Modellierungsergebnissen hin zu komplexen Abbildungen - in diesem Kurs erhalten Sie einen kompletten Überblick über alle Bereiche der Visualisierung mit dem Paket ggplot2.

Der Kurs behandelt folgende Themen:

  • ggplot2 Einführung: Syntax und Struktur

  • Explorative Datenanalyse: Einfache Grundabbildungen (Boxplots, Scatterplots)

  • Personalisierung: Die große Freiheit von ggplot2

  • Facet & friends: Das Erstellen fortgeschrittener Abbildungen

  • Erweiterungen: Überblick über die hilfreichsten Erweiterungspakete

  • Anordnen: Möglichkeiten des post-processing von ggplot2 Abbildungen (grid layouts, Verschachtelung)

  • Es ist in den letzten Jahren eine große Auswahl an Erweiterungen rund um ggplot2 enstanden. Dieser Kurs gibt Ihnen einen kuratierten Überblick über diese und zeigt praktische Beispiele zur Anwendung.

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
R Crashkurs

Der 1-tägige R Crashkurs richtet sich an Teilnehmer, die Grundkenntnisse in R erlernen oder auffrischen möchten. Der Fokus im R Crashkurs liegt auf die technische Einführung in R, das Erlernen der grundlegenden R-Syntax und das Arbeiten mit R zur Datenanalyse.

Die Kursinhalte decken sich weitgehend mit dem ersten Kurstag aus unserem 2-tägigen R Basiskurs. Alle vorgestellten Themen werden mit Hilfe von Übungen der Teilnehmer unter intensiver Anleitung ausführlich erläutert, demonstriert und geübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von R

  • Arbeiten mit R und R Studio, eine der beliebtesten und mächtigsten graphischen Benutzeroberfläche (GUIs) für R.

  • Installation und Nutzung von Erweiterungspaketen in R.

  • Einführung in Hilfeseiten und Tipps zur Selbsthilfe.

  • Erläuterung der wichtigsten Datentypen, Operatoren (arithmetische und logische Operatoren) und Funktionen in R.

  • Import und Export von Daten (z.B. Dateiformate wie CSV, Excel etc.)

  • Arbeiten mit Dataframes und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

  • Berechnen von statistischen Kennzahlen (z.B.: Mittelwert, Quantile, Varianz, etc.).

Voraussetzungen:

keine

Weiterlesen
R Basiskurs: Grundlagen der Datenanalyse

Der R Basiskurs richtet sich an Teilnehmer und Teilnehmerinnen, welche die statistische Software R als Werkzeug für die Analyse und Visualisierung eigener Daten erlernen möchten und dabei keine Vorkenntnisse besitzen oder eine Auffrischung Ihrer Kenntnisse wünschen.

Neben einer Einführung zur allgemeinen Bedienung von R wird vor allem auch die praktische Anwendung einfacher statistischer Analysen an realen Daten demonstriert. Alle vorgestellten statistischen Methoden und Themen werden anschaulich erläutert, vorgeführt und mithilfe von Auf­gaben von den Teilnehmern unter intensiver Aufsicht eingeübt.

Der Kurs behandelt folgende Themen:

Einführung in die Grundlagen von R

  • Arbeiten mit R und R Studio, eine der beliebtesten und mächtigsten graphischen Benutzeroberfläche (GUIs) für R.

  • Installation und Nutzung von Erweiterungspaketen in R.

  • Einführung in Hilfeseiten und Tipps zur Selbsthilfe.

  • Erläuterung der wichtigsten Datentypen, Operatoren (arithmetische und logische Operatoren) und Funktionen in R.

  • Import und Export von Daten (z.B. Dateiformate wie CSV, Excel etc.)

  • Arbeiten mit Dataframes und Vektoren (numeric, logical, character, factors), z.B. das Indizieren, Aufteilen und Umwandeln von Variablen bzw. Datensätzen.

Allgemeine Grafiken und Deskriptive Statistik mit R

  • Einführung in das R Grafiksystem (base)

  • Erstellung allgemeinen Grafiken und deren Anpassung, z.B. Änderung von Achsenbeschriftungen, Titel, Farben, Punktarten und Linientypen.

  • Bestehende Grafiken mit zusätzlichen Elementen erweitern:
    Hinzufügen von Legenden, beliebigen Texten, Linien und Punkten.

  • Erstellung einfacher deskriptiver Grafiken:
    Histogramme, Boxplots, Balken- und Streudiagramme, Histogramme & Dichten etc.

  • Export von Grafiken und Änderung der Größe von Grafiken.

  • Berechnung statistischer Kennzahlen:
    Mittelwert, Median, Quantile, Varianz, Häufigkeitsverteilungen, Kontingenztafeln, etc.

  • Berechnung und Interpretation der Korrelation von Variablen.

Folgende R-Pakete werden behandelt:

  • Es wird ausschließlich mit dem Basispaket gearbeitet

Voraussetzungen: keine

Weiterlesen
R Vertiefungskurs

Der R Vertiefungskurs richtet sich an Teilnehmer, die bereits erste Erfahrungen mit R gesammelt haben (z.B. in unserem R Crashkrus, R Basiskurs oder im Selbststudium). Aufbauend auf grundlegenden R-Kenntnissen werden einfache Techniken vermittelt, mittels derer sich das R als Programmiersprache leichter und effizienter bedienen lässt. Weiterhin werden einige bekannte Methoden aus der klassischen Statistik vorgestellt, die zur Analyse eigener Daten verwendet werden können.

Alle verwendeten statistischen Verfahren und Programmiertechniken werden an echten Daten Beispielen motiviert und mit Hilfe von Übungsaufgaben von den Teilnehmern eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die Interpretation der Ergebnisse eingegangen.

Der Kurs behandelt folgende Themen:

Datenanalyse und klassische Statistik

  • Wiederholung: Import und Export von Daten (z.B. Excel, SPSS etc.), sowie das Arbeiten, Inspizieren und Modifizieren von Daten.

  • Einführung in die fortgeschrittene Datenanalyse und Visualisierung von Daten mit dem beliebten Erweiterungspaket ggplot2, welches visuell ansprechende und ausdrucksstarke Grafiken erzeugen kann.

  • Einführung in klassische statistische Hypothesen-Tests (z.B. t-Test).

  • Regressionsanalyse und das lineare Regressionsmodell mit Erweiterungen wie multipler Regression und Verwendung von kategorischen Prädiktoren.

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.

  • Umwandlung von Berichten oder Präsentationen in verschiedene Dateiformate wie PDF, Word oder HTML.

  • Professionelle Präsentation von Analyseergebnissen durch Einbinden von Grafiken, Tabellen und R-Code in Berichten ohne Copy & Paste.

Programmierung

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

  • Schreiben eigener Funktionen in R um Analysen einfacher zu automatisieren.

Folgende R-Pakete werden behandelt:

  • ggplot2

  • knitr, rmarkdown

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Praktische Datenanalyse in R

Dieser Kurs wurde für Personen konzipiert, die klassische Verfahren aus der Statistik mit Hilfe von R zur Analyse eigener Daten verwenden möchten. Ziel dieses Kurses ist es den Teilnehmern einen guten Überblick über die verschiedenen Datenanalyseverfahren zu vermitteln, sodass die erlernten Methoden selbständig auf die jeweiligen Arbeitsgebiete und Daten angewandt werden können.
Alle verwendeten statistischen Verfahren werden zur Auffrischung erklärt, an echten Datenbeispielen motiviert, demonstriert und mit Hilfe von Übungsaufgaben eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die inhaltliche Interpretation der Ergebnisse eingegangen. Kurssprache und Kursunterlagen sind auf Deutsch.

Weiterlesen
Statistische Modellierung und Inferenz in R

Dieser Kurs wurde für Personen konzipiert, die bereits über erste Erfahrungen im Umgang mit R verfügen und nun sowohl die theoretischen als auch praktischen Grundlagen für die Informationsgewinnung aus Daten mit den Methoden der klassischen Statistik kennenlernen wollen.

Ziel dieses Kurses ist es, ein solides Verständnis der Grundbegriffe statistischer Deskription und Inferenz zu vermitteln, sodass die erlernten Methoden selbständig auf die jeweiligen Arbeitsgebiete und Daten angewandt werden können.

Der Kurs behandelt folgende Themen:

Wiederholung der Grundlagen

  • Univariate und multivariate deskriptive Statistik

  • Statistische Kennzahlen: Lage- und Streuungsmaße, Odds und Odds-Ratios, Korrelation

  • Wahrscheinlichkeitsverteilungen und -dichten, z.B. Normalverteilung, t-Verteilung, Gleichverteilung

Statistische Inferenz

  • Punkt- und Intervallschätzung bzw. Konfidenzintervalle

  • Statistische Hypothesentests:

    • Motivation und Übersicht: Einstichproben vs. zweistichproben Test, einseitiger vs. zweiseitiger Test, gepaarter vs. ungepaarter Tests

    • Interpretation der Ergebnisse und Begriffserklärung: Signifikanzniveau, p-Wert, Teststatistik, etc.

    • Behandelte Tests: t-Test, Welch-Test (Test auf Mittelwertunterschiede), Mann-Whitney-U-Test bzw. Wilcoxon-Rangsummentest, Shapiro-Wilk-Test (Test auf Normalverteilung), Kolmogoroff-Smirnow-Test (Test auf beliebige Verteilungen)

  • Multiples Testen: Probleme und Lösungsansätze (z.B. Bonferroni Korrektur)

Statistische Modellierung

  • Das lineare Regressionsmodell mit Erweiterungen wie multipler Regression und Verwendung von kategorischen Einflussgrößen.

  • Generalisierte lineare Modelle (engl. generalized linear models) mit Fokus auf logistische Regression

  • Generalisierte additive Modelle: Splines zur Modellierung von nicht-linearen Effekten

  • Modelldiagnose: QQ-plots, Residuenanalyse, Identifikation von Ausreißern (z.B. Cook’s distance)

  • Modellevaluation (MSE, R-squared, Konfusionsmatrix, ROC-Kurve (engl. Receiver Operating Characteristic), AUC: Area Under the Curve)

Alle verwendeten statistischen Verfahren werden zur Auffrischung erklärt, an echten Datenbeispielen motiviert, demonstriert und mit Hilfe von Übungsaufgaben eingeübt. Zudem wird in dem Anwendungsteil des Kurses auch auf die inhaltliche Interpretation der Ergebnisse eingegangen.

Voraussetzungen: Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Unsupervised Learning in R

Während beim überwachten maschinellen Lernen (engl. supervised machine learning) Vorhersagemodelle und das Erstellen akkurater Prognosen für eine bestimmte Zielgröße im Vordergrund ist, steht im unüberwachten maschinellen Lernen (engl. unsupervised machine learning) das Auffinden von Strukturen und Erkennen von Mustern in den Daten (ohne Kenntnisse über die Zielgröße) im Vordergrund. Hauptkomponentenanalyse (PCA) und Clusteranalyse sind bekannte Verfahren aus dem Bereich des Unsupervised Machine Learning und werden in diesem Kurs ausführlich behandelt.

Die Hauptkomponentenanalyse (englisch: Principal Component Analysis (PCA)) ermöglichst es viele (potentiell miteinander korrelierte) Variablen durch eine geringere Anzahl unkorrelierter Hauptkomponenten zu ersetzen (Dimensionsreduktion). Eine Dimensionsreduktion ist immer mit einem Informationsverlust verbunden. PCA versucht einen Informationsverlust bezüglich der “Variabilität in den Daten” möglichst gering zu halten.

Clusteralgorithmen befassen sich mit dem Auffinden von Gruppen (sog. Cluster) bzw. Ähnlichkeitsstrukturen in Daten. Hierbei sind die Gruppen im Vorfeld nicht bekannt. Die Einteilung in Gruppen soll so erfolgen, dass sich Beobachtungen innerhalb eines Clusters möglichst ähnlich sind und gleichzeitig die Cluster untereinander möglichst stark unterscheiden.

Die zugrundeliegenden Prinzipien der Verfahren werden verständlich eingeführt und anhand von kleinen Anwendungsbeispielen illustriert. Der Schwerpunkt des Kurses liegt auf der Anwendung der Methoden mit Hilfe von R.

Der Kurs behandelt folgende Themen:

  • Zur Wiederholung: Kurze Einführung in die univariate und multivariate Datenanalyse mit R.

  • Abgrenzung zwischen Supervised Machine Learning und Unsupervised Machine Learning, insbesondere zwischen Klassifikation und Clustering.

  • Clusteranalyse - Auffinden von Gruppen bzw. Ähnlichkeitsstrukturen in Daten:

    • Hierarchische Clusteranalyse: Distanzmaße für Beobachtungen und Cluster (Linkage-Methoden), Dendrogramme und deren Interpretation

    • Partitionierende Clusteralgorithmen: k-Means, k-Median, k-Medoids

    • Probabilistische und dichtebasierte Clusteralgorithmen: EM-Clustering, DBSCAN

    • Kennzahlen für die Evaluation der Ergebnisse von Clusteralgorithmen (bzw. Indizes zur Clustervalidierung).

    • Eigenschaften, Vergleich, sowie Vor- und Nachteile verschiedener Clusterverfahren

  • Outlier Detection - Verfahren zur Identifikation von univariaten und multivariaten Ausreißern.

  • Dimensionsreduktion mittels Hauptkomponentenanalyse (PCA) und die Erweiterung auf sparse und hochdimensionale Daten.

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

  • Allgemeines Grundverständnis in der Datenanalyse / Statistik.

Weiterlesen
Machine Learning in R

Im Alltag, in den Medien und in der Wirtschaft werden die Begriffe künstliche Intelligenz (engl. artificial intelligence) und überwachtes machinelles Lernen (engl. supervised machine learning) oft gleichgestellt. Genaugenommen ist überwachtes maschinelles Lernen aus wissenschaftlicher Sicht aber nur ein viel kleineres Teilgebiet der künstlichen Intelligenz, da unter künstliche Intelligenz auch andere Forschungsbereiche wie Robotik und Computer-Vision gezählt werden.

In diesem Kurs werden Algorithmen und allgemeine Konzepte es überwachten maschinellen Lernens vorgestellt, die besonders für die Modellierung nicht-linearer Zusammenhänge für komplexe Klassifikations- und Regressionsprobleme geeignet sind. Die grundlegenden Prinzipien der vorgestellten Algorithmen und Konzepte werden für Anfänger verständlich erläutert, deren Funktionsweise illustriert und die Vor- und Nachteile diskutiert. Alle eingeführten Algorithmen und Themen werden anhand praktischer Beispiele und Anwendungsfälle veranschaulicht und mit Übungsaufgaben von Teilnehmern eingeübt.

Im Kurs kommt die Anwendung des R Erweiterungspaket mlr: Machine Learning in R zum Einsatz, welches auch vom Team der Essential Data Science Training GmbH seit Jahren mitentwickelt wird.

Im Kurs kommt die Anwendung des R Erweiterungspaket mlr: Machine Learning in R zum Einsatz, welches auch vom Team der Essential Data Science Training GmbH seit Jahren mitentwickelt wird.

Der Kurs behandelt folgende Themen:

  • Begriffserklärung und Einführung in allgemeine Machine Learning Grundlagen.

  • Erläuterung der Funktionsweise von beliebten Algorithmen, z.B.: Klassifikations- und Regressionsbäume (CART), Random Forests und Gradient Boosting.

  • Aufteilung in Trainings- und Testdaten sowie Resampling-Prozeduren zur Modellevaluation (z.B. Kreuzvalidierung, Bootstrap).

  • Vergleich und Eigenschaften verschiedener Gütemaße um die Performance von Machine Learning Modellen zu evaluieren.

  • Einführung in die ROC Analyse für Klassifikationsmodelle, inkl. Hinweise für unausgewogene bzw. unbalancierte Daten (unterschiedliche Klassengröße).

  • Methoden für das Hyperparameter-Tuning um Lernalgorithmen optimal zu konfigurieren.

  • Modellselektion durch Nested Resampling um Overfitting und Overtuning zu vermeiden.

  • Methoden zur Variablenselektion (z.B. Feature filtering, Feature selection)

Folgende R-Pakete werden behandelt:

  • mlr (Machine Learning in R)

  • kknn, rpart, randomForest, ranger, gbm, xgboost

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

  • Allgemeines Grundverständnis in der Datenanalyse / Statistik.

Weiterlesen
Giuseppe CasalicchioR, MLR
Interpretable Machine Learning in R

Prognosemodelle aus der klassischen Statistik wie beispielsweise das lineare Regressionsmodell gehören zu den intrinsisch interpretierbaren Modellen, da ihre Vorhersagen per Definition einer gewichteten Summe der verwendeten Variablen entsprechen und daher leicht erklärbar und nachvollziehbar sind.
Im Gegensatz dazu werden Machine Learning Modelle oft als intransparente Blackbox bezeichnet, da ihre Vorhersagen - anders als bei statistischen Modellen - in der Regel nicht leicht nachvollziehbar sind. Um dennoch Machine Learning Modelle und ihre Vorhersagen besser verstehen zu können, wurden in den letzten Jahren zahlreiche post-hoc Methoden aus dem Bereich des interpretierbaren maschinellen Lernen (auch eXplainable Artificial Intelligence bzw. XAI genannt) entwickelt.
In diesem Kurs lernen Teilnehmer die aktuell bekanntesten und wichtigsten modell-agnostischen Methoden für die Interpretation von Prognosemodellen, ihr Nutzen in der Praxis, sowie ihre Vor- und Nachteile. Der Fokus der Anwendungsbeispiele liegt dabei auf Machine Learning Modelle, die auf klassische tabulare Daten trainiert wurden.

Der Kurs behandelt folgende Themen:

  • Definition und Motivation des interpretierbaren maschinellen Lernens.

  • Unterschiede zwischen intrinischer Interpretierbarkeit und modell-agnostischer Interpretierbarkeit, sowie zwischen globale und lokale Interpretierbarkeit.

  • Folgende model-agnostische Verfahren des interpretierbaren maschinellen Lernens werden genauer erläutert:

    • Permutation feature importance: Ein Verfahren um die Wichtigkeit von Variablen eines Prognosemodells zu quantifizieren.

    • Partial dependence (PD) plots und Accumulated Local Effect (ALE) plots: Eine Visualisierungsmethode um den erwarteten Variablen-Effekt eines Prognosemodells zu visualisieren.

    • Individual conditional expectation (ICE) plots: Eine Visualisierungsmethode um Variablen-Effekt einzelner Beobachtungen eines Prognosemodells zu visualisieren.

    • Shapley values: Ein Verfahren aus der Spieltheorie um die Wichtigkeit bzw. den Beitrag einer Variable auf die jeweilige Vorhersage einer Beobachtung zu quantifizieren.

  • Fragestellungen, die anhand dieser Methoden beantwortet werden können, Ihre Probleme und Vor- und Nachteile (z.B. abhängige Variablen).

  • Im Kurs wird das Package iml: interpretable machine learning eingeführt und einfache Übungsaufgaben damit bearbeitet.

Voraussetzungen:

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses).

  • Grundverständnis im Bereich der Datenanalyse und Statistik.

  • Erfahrungen im Umgang mit Machine Learning in R (etwa im Umfang unseres 3-tägigen Machine Learing in R Kurses).

Weiterlesen
Giuseppe CasalicchioR, IML in R
Deep Learning in R

Neuronale Netze als Methode des maschinellen Lernens haben in den letzten 10 Jahren wieder massiv an Bedeutung gewonnen. Dies liegt insbesondere an einer nun besser möglichen Optimierung von tiefen und neuartigen Netzwerkarchitekturen, die zu massiven Durchbrüchen in der Verarbeitung von Bild-, Sprach- und Textdaten geführt haben.

Der Kurs behandelt folgende Themen:

Eine Einführung in die Theorie und praktische Anwendung von tiefen Neuronalen Netzen, wobei sowohl auf die historische Entwicklung, als auch auf den State-of-the-Art der Methodik eingegangen wird.

Zusätzlich wird den Teilnehmern ein Einblick in das theoretische Fundament neuronaler Netze vermittelt. Es werden Vor- und Nachteile sowie die wichtigsten Anwendungssituationen diskutiert. In den Übungen passen Teilnehmer in einfachen Anwendungen selbst Neuronale Netze an, um Klassifikations- und Regressionprobleme zu lösen. Ziel des Kurses ist es Intuition und Anwendung von neuronalen Netzen, in verschiedensten Use-Cases zu vermitteln. Außerdem werden generelle Netzwerkarchitekturen sowie Regularisierung und Optimierung dieser Netze besprochen.

Weitere behandelte Themen sind:

  • Fully Connected Neural Networks

  • Convolutional Neural Networks

  • Recurrent Neural Networks

  • Adversarial Examples

  • Autoencoder

Als Software wird im wesentlichen Keras mit TensorFlow-Backend verwendet. Hierbei wird das R-Package 'Keras' verwendet, welches eine Anbindung zu Keras aus R heraus ermöglicht.

Benötigte Vorkenntnisse:

  • Grundkenntnisse in überwachten Lernverfahren, zu erwerben auch in Machine Learning & Data Mining in R

  • Kenntnisse in R (Im Umfang des 2-tägigen R Basiskurs bzw. 1-tägigen R Crashkurses)

Weiterlesen
Effiziente Datenverarbeitung und Programmierung in R

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:

  • Kurze Wiederholung der Grundlagen von R: Erläuterung wichtiger Datentypen & Operatoren

  • 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 (ein einfaches Beispiel für Split-Apply-Combine Strategien sind beispielsweise gruppierte Mittelwerte).

  • Relation zu MapReduce

  • Handhabung von Daten mit dem Paket data.table

  • Handhabung von Daten mit den Packages dplyr & magrittR (“Chaining und Pipelining”)

  • Datenbanken:

    • SQL Anfragen mit DBI

    • Vereinfachte Datenbankanbindung mit dplyr

    • Kurzer Ausblick zu R-Pakete für spezielle Datenbanken (MongoDB, MySql, Redis etc.)

Folgende R-Pakete werden behandelt:

  • plyr, dplyr, magrittr

  • sqldf, DBI

  • data.table

Weiterlesen
Programmieren in R

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.

Weiterlesen