R lernen mit RLab-Kursen

Niels Schwab | Johannes Weidinger
RLab - Skriptbasierte modulare Umweltstatistik (Universitätskolleg 2.0)
Universität Hamburg
CC BY-SA 4.0 | 2019

Inhaltsverzeichnis

Ziel

Um mit RLab-Kursen R direkt in R zu lernen, müssen die Kurse zunächst installiert werden. Wie das ganz einfach geht und was bei der Nutzung der Kurse zu beachten ist, wird in diesem Digitalen Skript beschrieben.

Weiter hinten gibt es generelle Informationen zu den Vorteilen von RLab-Kursen und Erklärungen zu ein paar Begriffen.

Du findest auch Infos, wie ohne Installationsaufwand mit sogenannten Jupyter-Notebooks die Bedienung von R direkt im Browser erlernt werden kann.

Allgemeine didaktische Hinweise zum Lehren und (Selbst-)Lernen mit RLab-Materialien findest Du auch in der Didaktischen Handreichung.

RLab-Kurse bestehen aus mehreren Lessons. Die Bearbeitung einer Lesson nimmt etwa 10 – 20 Minuten in Anspruch. Eine Unterbrechung ist jederzeit möglich, so dass alle Lessons eines Kurses nach und nach bearbeitet werden können.

Voraussetzungen

Um dieses Skript zu verstehen, solltest Du

  • R und RStudio installiert haben und
  • RStudio mit R verbunden haben und
  • Die 4 RStudio-Fenster kennen

Das ist alles in den Digitalen Skripten Installation von R und RStudio und RStudio und R-Skripte beschrieben, schaue gegebenenfalls dort nach und kehre dann hierher zurück!

RLab-Kurse sind für die Nutzung mit Windows-Rechnern optimiert, einige wurden auch auf Linux-Installationen erfolgreich getestet. Erfahrungen mit Apple-Rechnern sind bisher nicht vorhabnden, siehe dazu auch den Hinweis für Mac-Nutzende (unten auf der verlinkten Seite).

Am besten öffnest Du parallel zum Digitalen Skript RStudio, so dass Du die im Folgenden vorgestellten Funktionalitäten direkt ausprobieren kannst. Das Digitale Skript kannst Du auch auf einem Smartphone oder Tablet lesen.

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!

Installation der RLab-Kurse

In Kürze: Alle verfügbaren RLab-Kurse und das für die Nutzung erforderliche R-Package ,,swirl" können durch Ausführen von source("http://rlab.blogs.uni-hamburg.de/RLabKurse/install_RLab.R") komfortabel in einem Schritt installiert werden.

Voraussetzung: Die Programme R und RStudio müssen installiert und RStudio mit der richtigen R-Version verbunden sein.
Wie das geht, ist im Digitalen Skript Installation von R und RStudio beschrieben, schaue gegebenenfalls dort nach und kehre dann hierher zurück!

Etwas ausführlicher Schritt-für-Schritt in der folgenden Slideshow:

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!

Start eines RLab-Kurses

So kannst Du einen RLab-Kurs starten und bearbeiten, wenn die Kurse wie auf der vorherigen Seite beschrieben bereits installiert sind:

In Kürze: Du kannst die Lektionen der RLab-Kurse direkt nach dem Start von swirl auswählen und bearbeiten. Dazu sind nur zwei Zeilen Code erforderlich:

library(swirl) # Das R-Package swirl "einschalten"
swirl() # Start von swirl, Auswahl des RLab-Kurses

Etwas ausführlicher in der folgenden Slideshow:

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!

Fehlermeldungen & Tipps fürs Lernen mit RLab-Kursen

Fehlermeldung statt Lösungshinweis

Fehlermeldung

Abb. 1: Beispiel für eine Fehlermeldung, die durch Eingabe des Namens eines Objekts, das nicht im Environment vorhanden ist, verursacht wurde.

Das RLab-Team versucht die RLab-Kurse so zu gestalten, dass nichts schief gehen kann: Zu allen Fragen gibt es vorgegebene Antworten oder sehr deutliche Hinweise auf die richtige Antwort. Diese werden angezeigt, falls Du beim ersten Versuch einmal daneben lagst. Aus technischen Gründen funktioniert das aber nicht immer: In einigen Fällen wird eine Fehlermeldung an Stelle des Hinweises angezeigt (Abb. 1). Diese können manchmal recht ,,wild" aussehen, wie in Abbildung 2 zu sehen ist.

Fehlermeldung 2

Abb. 2: Beispiel für eine Fehlermeldung, die durch das Fehlen des Namens eines Objekts verursacht wurde.

Hauptursachen für Fehlermeldungen statt Hinweisen:

  • Du gibst bei einer Funktion den Namen eines Objekts ein, das es gar nicht gibt (zumindest nicht im Global Environment des RLab-Kurses). Beispiel: Du möchtest mit der Funktion var() die Varianz des Objekts ph_H2O berechnen und gibst var(H2O) statt var(pH_H2O) ein (siehe Abbildung 1).

  • Du gibst bei einer Funktion den Namen eines Objekts nicht ein. Beispiel: Du möchtest mit den Funktionen diff(range()) die Spannweite der Werte des Objekts ph_H2O berechnen und gibst diff(range()) statt diff(range(pH_H2O)) ein (siehe Abbildung 2).

  • Diese Fälle können ähnlich auch im Zusammenhang mit den Namen von Funktionen auftreten, z.B. mini() statt min() für die Berechung des Minimums.

Fehlerbehebung:

Leider kann der RLab-Kurs in diesen Fällen die richtige Lösung bzw. einen Hinweis darauf nicht anzeigen und auch nicht auf deutsch auf die Ursache hinweisen. Du kommst an dieser Stelle aber ganz einfach weiter, wenn Du die englische Fehlermeldung richtig interpretierst und die Funktion mit richtigem Objektnamen noch einmal eingibst. Einfach ausprobieren - Du kannst dabei nichts falsch machen!

Alternativ kannst Du immer eine einfache Rechenoperation wie zum Bespiel "1+1" eingeben - daraufhin wird fast immer der zur Aufgabe passende Hinweis angezeigt, der die richtige Lösung enthält.

Falls Du gar nicht weiterkommst: Du kannst jede Frage durch Eingabe von skip() überspringen - das klappt immer!

Kursauswahl: Reihenfolge der Kurse

Fehlermeldung

Abb. 3: Kursauswahlmenü.

Aus technischen Gründen ist das Kursauswahlmenü alphabetisch sortiert (Abb. 3). Es handelt sich nicht um eine thematische oder Schwierigkeitsgraden entsprechende Sortierung! Daher ist etwas Konzentration beim Start eines Kurses gefragt - lasse Dich dabei nicht durch die Namen von Kursen, die Du nicht kennst, irritieren. Schaue einfach nach dem von Dir gewünschten Kurs - er wird sich definitiv in der Liste finden lassen!

Die Lessons der Kurse sind übrigens sinnvoll sortiert - sie bauen oft aufeinander auf und die erste Lesson der Liste ist immer die einfachste und zum Einstieg empfohlen!

Kursauswahl: Das ,,Swirl-Course-Repository" - weitere R-Kurse

Swirl-Course-Repository

Abb. 4: Kurs-Auswahl-Menü: Das ,,Swirl-Course-Repository" hat nichts mit den RLab-Kursen zu tun und sollte nicht ausgewählt werden.

Beim Kursauswahlmenü wird immer auch das ,,Swirl-Course-Repository" angeboten (Abb. 4). Das ist ein Online-Speicher von zahlreichen, überwiegend englischsprachigen Kursen, die auch im von RLab verwendeten R-Package ,,swirl" laufen. Inhaltlich haben diese Kurse aber nichts mit RLab zu tun! Du kannst aber natürlich gerne schauen, was das Swirl-Course-Repository bereit hält.

Ende einer Lektion - Sprung zur Kursauswahl

Die R-Lab-Kurse untergliedern sich in so genannte ,,Lessons". Dabei handelt es sich um kleine Einheiten, die zum Thema des jeweilgen RLab-Kurses passen.

Aus technischen Gründen springt jeder RLab-Kurs am Ende einer Lektion wieder zur Kurs- und nicht zur Lessonauswahl zurück. Das ist leider etwas unfreundlich für Lernende, da Du häufig mit der nächsten Lesson eines Kurses direkt weitermachen möchtest. Da hilft nur: Kursnamen merken und nach Ende einer Lesson den Kurs noch einmal wählen, dann die nächste Lesson.

Steuerung der Kurse

Nach dem Start des R-Packages swirl, in dem alle RLab-Kurse ausgeführt werden, werden in der R-Console einige Hinweise zur Steurung der Kurse angezeigt. Diese lassen sich später nicht ohne weiteres nochmals aufrufen. Hier kannst Du jederzeit darauf zugreifen:

  • Du kannst swirl bzw. den RLab-Kurs beenden und zur R-Eingabeaufforderung ( > ) ausserhalb von swirl zurückkehren, indem Du die >Esc< -Taste drückst.

  • In eingen Situationen geht das nur, indem Du bye() in die Console tippst und >Enter< drückst.

  • Die beiden ,,Fluchtmöglichkeiten" bye()und >Esc< sind nicht einfach auseinanderzuhalten.

    Tipp: Versuche es erst mit >Esc<. Wenn das nicht klappt, tippst Du bye() ein.

  • Dein Bearbeitungsstand wird gespeichert und Du kannst später nach Eingabe Deines Namens beim Start eines RLab-Kurses wieder an die Stelle zurückkehren und weiter machen.

  • Immer wenn Du '...' siehst, ist das die Aufforderung, >Enter< zu drücken, wenn Du fertig mit Lesen und bereit zum Fortfahren bist.

  • Wenn Du

    ANTWORTE: siehst oder

    die R Eingabeaufforderung ( > ) siehst oder

    Du aufgefordert wirst, aus einer Liste auszuwählen,

    heißt das, dass es an Dir ist eine Antwort einzugeben. Wenn Du die Antwort eingegeben hast, drücke >Enter< um fortzufahren.

  • Wenn Du eine Frage überspringen möchtest, kannst Du skip() eintippen. Dir wird dann die richtige Lösung angezeigt und die nächste Frage gestellt.

  • Wenn Du den Kurs kurz pausieren möchtest, um etwas anderes mit R zu machen, z.B. um etwas auszuprobieren, kannst Du play() eintippen.

  • Um dann wieder zum Kurs zurückzukehren, tippst Du nxt() ein.

  • Wenn du main() eintippst, kommst du ins Hauptmenü zur Kursauswahl.

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!

Die Vorteile von RLab-Kursen

Mit RLab-Kursen kannst Du R lernen, indem Du R (fast) genauso nutzt, wie im ,,richtigen Leben” - zum Beispiel bei Berechnungen für eine Projektarbeit oder Deine Abschlussarbeit.

swirl ist ein Software-Paket, ein sogenanntes R-Package, um R interaktiv zu lernen. Die RLab-Kurse werden von swirl in R ausgeführt. Dabei wird von Dir nicht einfach nachgemacht, was Lehrende oder die zahlreichen existierenden R-Tutorials vormachen - Du kannst aktiv, problemorientiert und selbstbestimmt Fortschritte erzielen.

R, R-Packages, swirl, RLab-Kurse… - diese Begriffe werden mit den Erklärungen auf der folgenden Seite noch verständlicher.

R, R-Packages, swirl, RLab-Kurse…

R, R-Packages, swirl, RLab-Kurse… - das sind viele neue Begriffe. Sie stehen in folgender Beziehung zueinander:

  • R ist das Statistik-Programm - es beinhaltet ,,von Haus aus” viele Funktionen. Zusätzlich gibt es
  • R-Packages - Software-Pakete, durch deren Installation R weitere Funktionen hinzugefügt werden können.
  • Eins dieser Packages beinhaltet Funktionen, mit denen interaktiv R gelernt werden kann. Das Package heißt swirl.
  • Eine Besonderheit des swirl-Packages ist, dass in das Package Kurse installiert werden können. In unserem Fall sind dies die deutschsprachigen RLab-Kurse, die geowissenschaftliche und biologische Beispieldatensätze und in diesen Fächern übliche Standardmethoden verwenden. Es gibt allgemeinere, englischsprachige Kurse für swirl, die aber nichts mit RLab zu tun haben.

Erst nachdem swirl als sogenanntes Package zu R hinzugefügt wurde, kannst Du mit den RLab-Kursen arbeiten. Das geschieht bei der Installation mit source("http://rlab.blogs.uni-hamburg.de/RLabKurse/install_RLab.R") automatisch.

Hierarchie-Struktur_R-R-Packages-swirl-Kurse

Abb.: Mit R Packages werden Funktionen zu R hinzugefügt. swirl ist eines dieser Packages. swirl kann mit überwiegend englischsprachigen swirl-Kursen genutzt werden - oder mit den deutschsprachigen RLab-Kursen!

R mit Jupyter direkt im Browser lernen

Jupyter Notebooks ermöglichen es, ohne die Installation von zusätzlichen Programmen R direkt im Browser zu lernen und auch generell ,,online" mit R zu arbeiten. Du kannst Jupyter Notebooks betriebssystemunabhängig in jedem Browser ausführen. Der Name setzt sich aus den Anfangsbuchstaben der drei Kernsprachen JUlia, PYTon und R, für die die Notebooks ursprünglich entwickelt wurden, zusammen.

Wenn Du R einfach mal ausprobieren und/oder einen Eindruck von so einem Jupyter Notebook bekommen möchtest, dann findest Du in der folgenden Slideshow alle wichtigen Informationen.

Nutzung der RLab-Kurse mit Jupyter für Mitglieder der MIN-Fakultät

Aktuell ist es nur für Mitglieder der MIN-Fakultät der Universität Hamburg wie in der folgenden Slideshow beschrieben möglich, mit den Jupyter Notebooks zu arbeiten. Generell lassen sich die Notebooks des RLabs aber in jeder Jupyter-Installation nutzen (Hinweise dazu unterhalb der Slideshow).

Nutzung der RLab-Kurse mit Jupyter außerhalb der MIN-Fakultät

Die Jupyter-RLab-Kurse lassen sich in jeder Jupyter-Installation nutzen. Dazu ein paar unverbindliche Hinweise:

1) Zunächst werden die Notebook-Dateien benötigt, welche unter den folgenden Links geladen werden können. Speichere Dir die Datei(en) in einem beliebigen Verzeichnis. Zum Start empfehlen wir mindestens das Notebook ,,Einführung in Jupyter" [Rechtsklick und „Ziel speichern unter…“].

Weitere Hinweise in der folgenden Slideshow…

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!

Hier endet der Inhalt dieses Digitalen Skripts. Allgemeine didaktische Hinweise zum Lehren und (Selbst-)Lernen mit RLab-Materialien findest Du auch in der Didaktischen Handreichung.

Auf der folgenden Seite kannst Du die wichtigsten Aspekte mit einer Quiz-Zusammenfassung wiederholen. Oder Du arbeitest jetzt direkt die erste Lesson Deines ersten RLab-Kurses durch! Für eine Lesson benötigst Du etwa zehn Minuten.

Zusammenfassung

Nun kannst Du prüfen, ob Du die Inhalte dieser Einheit verstanden hast. Mit den folgenden Fragen werden die wichtigsten Inhalte dieses Digitalen Skripts zusammengefasst.

(Es können pro Frage mehrere Antworten korrekt sein.)

Was ist swirl?

e4d2b7a81169795bffc8e9d7c0b0f390 473db40e0d4d430281f24ed0c91889b2

Welche der folgenden Schritte sind nur einmalig bei der ersten Verwendung von swirl durchzuführen?

b5ceb729a1b347aa357790e1588c88b3 4fc364339b2127eb81c13ab986a27085

Du hast einige Schritte kennengelernt, die erforderlich sind, um die RLab-Kurse zu installieren und zu starten. Bringe die Schritte in die richtige Reihenfolge:

Eingabe Deines Namens
Auswahl einer Lesson durch Eingabe der entsprechenden Ziffer
Installation der RLab-Kurse mit dem ,,Installations-Code"
Auswahl eines Kurses durch Eingabe der entsprechenden Ziffer
1 3 0 2

Du hast zwei Schritte kennengelernt, die erforderlich sind, um einen RLab-Kurs zu starten, wenn die Kurse bereits installiert sind. Bringe die Schritte in die richtige Reihenfolge:

Start der Kursauswahl mit swirl()
,,Einschalten" von swirl mit library(swirl)
1 0

Welcher der Schritte ist nicht erforderlich, um einen bereits installierten RLab-Kurs zu starten?

7ee01aa828fe045bd2e7344fb08ad5a5


Super! Jetzt weißt Du, wie Du RLab-Kurse installierst, das erforderliche R-Package swirl einschaltest und RLab-Kurse startest!

Fragen oder Anmerkungen?
Für Anregungen und Kommentare zur Verbesserung dieses Digitalen Skripts ist das RLab-Team immer dankbar! Du kannst auch Fragen zu den Inhalten stellen! Nutze für all das gerne die Kommentar-Funktion!