Update: September 2022
Lineare Regression und tidymodels
Update: September 2022
Lineare Regression und tidymodels
Dieser Kurs dient als Einstieg in die Programmierung und Datenanalyse mit R & RStudio. In dem Kurs lernt Ihr im ersten Schritt Grundlagen der R-Programmierung. Abschluss des ersten Kapitels bildet ein kleines Projekt, in dem wir die Fläche eines Kreises approximieren. Dafür schreiben wir angepasste Funktionen. Danach erfolgt, eine Einführung in die, aus Sicht des Autors, wichtigsten Pakete für die Datenanalyse. Ihr lernt das "tidyverse" und "data.table" kennen, die in der Praxis sehr häufig für die Datenanalyse benutzt werden. "data.table" ermöglicht euch die Behandlung sehr großer Datenmengen in kurzer Zeit. Die in dem ersten Kapitel eingeführten Möglichkeiten zur grafischen Darstellung von Daten werden durch "moderne" Bibliotheken, wie "ggplot2" und "plotly" ergänzt. An realen Daten werden die Konzepte vertieft. Es werden Verkaufspreise von Immobilien analysiert und in einem dynamischen Report zusammengefasst. Dafür benutzen wir "Rmarkdown". In Kapitel 4 lernt ihr unter Anderem die Grundlagen von Web-Applikationen mit dem "shiny" package kennen. Außerdem werden Web-APIs behandelt. Wir programmieren eine Finance-API mit dem "plumber" Package. Dabei dient das "quantmod" Package als Grundlage für die Kursverläufe von Aktien.
Im Fokus dieses Kurses steht die Vermittlung von Konzepten und Techniken, und weniger die Statistik.
Es werden keine Vorkenntnisse in der Programmierung benötigt.
Dieser Kurs eignet sich für alle, die einen Einstieg und in R benötigen und Datenanalysen durchführen möchten. Dieser Kurs eignet sich zudem als Einstieg in das Feld Data Science mit R.
Einführung in den Kurs. Die Präsentation findet ihr unter "Materialien" als html-Dokument.
Download und Installation R
Erste Schritte mit der RStudio IDE
Ihr lernt was "packages" sind und wie ihr diese installieren und laden könnt.
In dieser Lektion erstellen wir erste Objekte, behandeln Vektoren und unterschiedliche Vektortypen. Ausserdem gehe ich auf "atomic-types" ein. Entweder programmiert Ihr einfach mit oder ihr kopiert den Inhalt der angehängten txt-Datei einfach in ein neues R-Script, welches Ihr in R-Studio erstellt.
In dieser Lektion behandeln wir einfache Indizierung und führen die "c" Funktion ein.
Indizierung von Vektoren
Wir fassen das gelernte kurz zusammen und erstellen Vektoren mit vordefinierter Laenge und Type mit "integer" und "character", "double", "logical" und "vector".
Wir erstellen nun Sequenzen mit ":" ,"seq" und "rep" und damit Vektoren unterschiedlicher Laenge.
Wir behandeln mathematische und logische Operatoren.
Nun erklaeren wir die unterschiedlichen Moeglichkeiten um Vektoren zu indizieren.
Wir besprechen nun die Umwandlung von Vektortypen u.a. mit den "as.xxx" Funktionen.
Nun behandeln wir die Grundeigenschaften einer Matrix und führen einige nützliche Funktionen, wie "rbind" und "cbind" ein.
Wie greifen nun auf Elemente einer Matrix zu. Wir arbeiten mit "[]".
Wir lernen, wie wir auf Elemente einer Matrix mit logischen Vektoren zugreifen können.
Wir führen die Funktionen "rowSums", "colSums", "min", "max" und "summary" ein.
Faktoren sind spezielle Vektoren, die ein u.a. ein "levels" Attribut besitzen.
Wir behandeln die Struktur eines Faktors.
Wir beginnen nun mit Data Frames. Ihr lernt die Erstellung eines Data Frames mit der "data.frame" Funktion. Wir führen ausserdem die "subset" Funktion ein und demonstrieren das Verhalten der "[]" Funktion.
Auf Spalten eines Data Frames koennen wir mit dem "$" - Operator zugreifen.
In dieser Lektion lernen wir, wie wir Zeilen und Spalten zu einem Data Frame hinzufügen koennen.
Wir üben nun das "debuggen" einer Funktion.
Listen werden mit der "list" Funktion erstellt und sind der "komplexeste" Objekttyp in R.
For und While Schleifen werden nun eingeführt. Ihr lernt, auf welche Fallstricke ihr bei For-Schleifen achten muesst.
For-Schleifen koennen als Laufvariable auch andere Vektortypen haben. Ausserdem behandeln wir geschachtelte Schleifen und wie ihr diese vermeiden könntet.
Wie führen nun if else Ausdruecke ein und demonstrieren das Verhalten für Vektoren einer Laenge > 1
Die ifelse-Funktion ist die Vektorvariante von if else.
Wir vertiefen die ifelse-Funktion und werden die Anwendung in Data Frames verdeutlichen. Ausserdem zeige ich euch unterschiedliche Moeglichkeiten um eine Spalte zu einem Data Frame mit einer Bedingung hinzuzufügen.
Die "apply"-Funktion kann eine for-loop in Matrizen ersetzen.
Nun werden wir eine selbst definierte Funktion nutzen um Berechnung auf einer Matrix durchzuführen.
"lapply" ist Teil der "apply" - Familie. Wir behandeln mit "lapply" vor allem Listen.
"sapply" ist Teil der "apply"- Familie, es gibt Unterschiede zu "lapply", die wir hier behandeln.
"tapply" ist ebenfalls Teil der "apply" Familie. Wir stellen hier eine Anwendungsmöglichkeit der Funktion vor.
Dies ist der Start der Funktions-Reihe. Funktionen sind essentiell um guten und organisierten Code zu schreiben. Wir nutzen die "function" Funktion.
Wir arbeiten weiter an der "FSquare" Funktion.
Wir bearbeiten ein letztes mal die "FSquare" Funktion. Wir nutzen die "which" Funktion um Indizes zurückzugeben.
Wir übergeben einer Funktion nun zwei Argumente. Einem Argument wird bereits in der Funktionsdefnition ein Wert übergeben.
Wir schreiben eine einfache Funktion und lernen die "missing" Funktion kennen.
Wir übergeben einer Funktion eine Funktion als Argument und nutzen "match.fun".
Wie schreiben wir eine Funktionen, die mehrfache Objekte zurückgeben soll?
Ihr lernt das Plotten mit der "plot" Funktion, welches aus einem Basis-Paket ("graphics") stammt.
Wir lernen nun die "par" Funktion kennen, mit der ihr graphische Parameter setzen könnt.
Wir plotten den iris-Datensatz um die unterschiedlichen Eigenschaften der Spezies darzustellen.
Wir plotten den "orange" Datensatz als Linien-Plot. Wir arbeiten mit vielen nützlichen Plot-Funktionen, wie "xaxis".
Nun lernt ihr, wie ihr zu dem leeren Plot Linien hinzufügen könnt. Wir nutzen ausserdem die "split" Funktion.
Wir manipulieren nun Strings. Ihr lernt grundlegende String-Operationen.
Ihr lernt nun, wie ihr aus einem character string ein Datum mit "as.Date" macht.
Wir führen die "strptime" Funktion ein, um aus einem character Vektor ein "DateTime"-Objekt zu erzeugen.
Ihr lernt nun den Unterschied zwischen "POSIXlt" und "POSIXct" Objekten
Wir behandeln in dieser Lektion die Formatierung eines "DateTime" Objektes.
Wir nutzen die "class" Funktion um die Klasse eines Objektes abzurufen. Ausserdem demonstrieren wir, wie Funktionen auf Objekte unterschiedlicher Klassen reagieren.
Übersicht über die verschiedenen Datentypen in R.
Wir behandeln die "attributes" Funktion.
Wir nutzen die "read.table" Funktion um Daten einzulesen und "write.table" um Daten in eine Datei zu schreiben.
Ich demonstriere euch nun einen Workflow, um grosse Dateien einzulesen und verhindere das Speichern von "rownames".
Wir nutzen die "combn" Funktion und "expand.grid" Funktionen um Kombinationen auszurechnen.
Ihr lernt, wie ihr Unterschiede in Vektoren berechnet und ausgebt. Wir nutzen "setdiff", "intersect", "%in%" und "unique".
"do.call" ist eine hilfreiche Funktion, die einen etwas anderen Funktionsaufruf implementiert.
Wir erstellen nun aus der "txt" Datei ein ".rmarkdown" - Dokument. Ihr solltet rmarkdown bereits installiert haben. Falls nicht, zeige ich euch, wie ihr das package installiert.
Erläuterungen der Übungsaufgaben.
Ich zeige euch, wie ihr die Lösungen als html Datei ausgeben könnt. Die txt Datei befindet sich im Anhang.
Wir besprechen nun die Lösungen zu den Übungsaufgaben.
Wir lernen die Erstellung eines "tibbles", der grundlegenden Datenstruktur des "tidyverse".
Wir wandeln ein "data.frame" Objekt in ein "tibble" Objekt um und greifen auf Elemente eines tibbles zu.
Wir nutzen "add_column" und "add_row" um zu einem tibble eine neue Spalte, bzw. Zeile hinzuzufügen.
Wir definieren "tidy data" und beginnen mit dem "tidyr" package des tidyverse. Wir nutzen die "gather" & "spread"
Nun nutzen wir "separate" und "unite" des tidyr packages.
Wir nutzen nun das "dpylr" package, welches das zentrale package des "tidyverse" ist. In den folgenden Lektionen behandeln wir "dplyr" im Detail. Wir betrachten den "diamonds" Datensatz des "ggplot2" packages.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.