ggplot2 ist ein mächtiges Werkzeug, um ansprechende Grafiken zu erstellen. Will man Zuhörer oder Leser „mitnehmen“, empfiehlt es sich, nicht nur Daten zu präsentieren, sondern auch eine Geschichte damit zu erzählen. Unser Storytelling-Beispiel bezieht sich auf den Länderfinanzausgleich. Unter Storytelling verstehe ich hier: Bestimmte Aspekte hervorheben, die ich als Bearbeiter wichtig finde, um den Blick … „Storytelling mit R und ggplot2: Länderfinanzausgleich“ weiterlesen
Kategorie: R-Programmierung
Beiträge zur R-Programmierung / RStudio. Tipps & Tricks zur freien Statistik-Software, Data Mining, Visualisierungen, Anwendungsbeispiele, Paket-Empfehlungen. #rstats
Elegante R-Programmierung mit purrr::map und genisteten Datensätzen
2016 machte Hadley Wickham eine Idee populär, von der er zunächst selbst nicht sicher war, ob sie gut ist: genistete Datensätze (nested data frames). Das Prinzip ist einfach: Eine Spalte eines Datensatzes kann selbst ein Datensatz sein. Was zunächst umständlich oder verwirrend klingt, kann zum mächtigen Werkzeug werden – vor allem, wenn man viele gleich … „Elegante R-Programmierung mit purrr::map und genisteten Datensätzen“ weiterlesen
Länderfinanzausgleich: 30 Jahre in einer animierten Grafik (1988 – 2018)
Wie kann man die Beträge, die die Bundesländer im Rahmen des Länderfinanzausgleichs zahlten oder erhielten, in einer Grafik darstellen, sodass Veränderungen im Zeitverlauf deutlich werden? Hier eine animierte Grafik, die den Zeitraum von 1988, also kurz vor der Wende, bis 2018 abbildet: Länderfinanzausgleich: Entwicklungen 1988 bis 2018 In diesen 30 Jahren gab es mehrere spannende … „Länderfinanzausgleich: 30 Jahre in einer animierten Grafik (1988 – 2018)“ weiterlesen
R-Code beschleunigen: Schleifen vs. Vektorisierung vs. Lookup-Tables
Kurzfassung:R erlaubt dem Anwender, vergleichsweise schnell Analysecode zu schreiben, da die formalen Anforderungen gering sind. Dafür gilt R nicht zu unrecht als vergleichsweise langsam hinsichtlich der Code-Laufzeit. Wir vergleichen drei Varianten, einem Datensatz mit Skat-Karten die Werte der Spielkarten zuzuordnen. Vektorisierter Code ist dabei um Längen schneller als eine Schleife. Eine noch schnellere Variante, ein … „R-Code beschleunigen: Schleifen vs. Vektorisierung vs. Lookup-Tables“ weiterlesen
Objektorientiertes Programmieren mit R: S3-Klassen
Die Open-Source-Software R ist ein großartiges Werkzeug zur Datenanalyse. Zahlreiche statistische Verfahren und Visualisierungen können mit wenigen Codezeilen erstellt werden. Dafür steht eine Vielzahl an Funktionen zur Verfügung. Funktionales Programmieren und Objektorientiertes Programmieren Automatisiert man solche Analysen, so bewegt man sich im Bereich des Funktionalen Programmierens. Für Datenanalysen ist das eine gute Wahl. Liegt der … „Objektorientiertes Programmieren mit R: S3-Klassen“ weiterlesen
Programmieren mit R: Alles, was passiert, ist ein Funktionsaufruf
R ist eine Implementierung der Programmiersprache S, die in den 1970er Jahren von John Chambers bei Bell Labs entwickelt wurde. R wurde ab 1992 von Ross Ihaka und Robert Gentleman geschrieben und ab 1993 verbreitet; seit 1997 gibt es das R Development Core Team, dem auch John Chambers angehört. Von Chambers stammt folgendes Zitat, das … „Programmieren mit R: Alles, was passiert, ist ein Funktionsaufruf“ weiterlesen
R lernen mit Hands-On Programming with R von Garrett Grolemund
Wer R lernen will, hat eine Vielzahl von Büchern zur Auswahl – zumindest, wenn englischsprachige Bücher in Frage kommen. Es gibt auch auf Deutsch einige Einführungen in die R-Programmierung (z. B. R kompakt von Daniel Wollschläger), doch der englischsprachige Markt ist deutlich größer. Eine sehr praxisorientierte Einführung stammt von Garrett Grolemund: Hands-On Programming with R. … „R lernen mit Hands-On Programming with R von Garrett Grolemund“ weiterlesen
Zuweisung in R: <- oder =
Zuweisungen in R werden üblicherweise mit dem Zuweisungs-Operator <- ausgeführt: a <- 3 a [1] 3 Manchen Anwendern mag das Gleichheitszeichen vertrauter sein – es funktioniert ebenfalls: a = 4 a [1] 4 Parameter-Übergabe mit Gleichheitszeichen: na.rm = TRUE Bis vor kurzem dachte ich noch, der Zuweisungspfeil wäre eben üblich in R – konnte aber … „Zuweisung in R: <- oder =“ weiterlesen
Machine Learning-Algorithmen verstehen: Interaktionseffekte
Machine Learning-Algorithmen zu verstehen ist eine Herausforderung. Mit dem folgenden Text möchte ich einen Beitrag dazu leisten, indem ich ein Spezialthema betrachte: Wie gehen verschiedene Machine Learning-Algorithmen mit Interaktionseffekten um? Folgende Machine-Learning-Algorithmen werden betrachtet: Lineare Regression GAM = Generalized Additive Model KNN = K nächste Nachbarn = k nearest neighbors Ein einzelner Entscheidungsbaum (rpart) Ein … „Machine Learning-Algorithmen verstehen: Interaktionseffekte“ weiterlesen
Kreuzvalidierung: Was schief gehen kann und wie man es besser macht (p > n)
Datensätze mit mehr Variablen als Fällen sind eine besondere Herausforderung für die Datenanalyse: p > n, p für predictors, Prädiktoren; n für die Stichprobengröße. Klassische Verfahren wie die lineare Regression sind unter diesen Bedingungen rechnerisch nicht lösbar. Die Daten: p > n Hier ein Beispiel: biomarker.Rda enthält 90 Fälle (Beobachtungen) von 2000 unabhängigen Variablen – … „Kreuzvalidierung: Was schief gehen kann und wie man es besser macht (p > n)“ weiterlesen