<- 42
x
# Zeige den Wert von x
x
1 Erste Schritte in R
- Layout und Bedeutung einzelner Fenster in RStudio kennen
- R Notebooks kennen
- Anweisungen aus dem Skript an die Konsole schicken
- R als Taschenrechner benutzen
- erste Funktionen aufrufen
- Objekte mit eckigen Klammern [ ] ansprechen
- R-Hilfeseiten aufrufen
- Ihren ersten Plot erstellen
1.1 Was ist ?
R ist eine Programmiersprache für Datenanalyse und statistische Modellierung. Es ist frei verfügbar (open source software) und neben Python einer der am meisten benutzten Programmiersprachen zur Datenanalyse und -visualisierung. R wurde von Ross Ihaka und Robert Gentleman 1996 veröffentlicht (Ihaka and Gentleman 1996). Es gibt für R eine Vielzahl von Zusatzpaketen, die die Funktionalität und die Einsatzmöglichkeiten enorm erweitern.
Sie können R für Ihren Computer auf der offiziellen R-Seite https://www.r-project.org/ herunterladen und installieren. Eine kurze Anleitung finden Sie auf ILIAS, zusammen mit der Liste der Pakete, die wir in diesem Kurs benötigen. Zusätzlich können Sie sich hier ein Video zur Installation ansehen.
Auf der offiziellen R-Seite finden Sie auch zusätzliche Pakete, und zwar unter CRAN (The Comprehensive R Archive Network). Manche Pakete sind auf den CRAN-Seiten thematisch in sogen. CRAN Task Views gegliedert. Für den Umweltbereich sind folgende Paketsammlungen besonders relevant:
- Environmetrics: Analyse von Umweltdaten
- Multivariate: Multivariate Statistik
- Spatial: Analyse von räumlichen Daten
- TimeSeries: Zeitreihenanalyse
Zu Beginn des Kurses werden wir jedoch nicht auf Ihren lokalen Rechnern arbeiten, sondern auf den bereits eingerichteten Uni-Rechnern in den EDV-Räumen. Daher biete ich zu diesem frühen Zeitpunkt im Kurs keine Unterstützung bei der Installation von R auf Ihren Privatrechnern. Für die ganz Ungeduldigen gibt es hier eine kurze Einleitung zur Installation.
1.2 Was ist RStudio?
RStudio Desktop ist eine Entwicklungsumgebung für R. Wichtig: RStudio wird erst nach R installiert und ergibt ohne R keinen Sinn. Sie können die open source Version kostenlos für Ihren Rechner hier herunterladen, falls Sie sich entscheiden, (später) R auf Ihrem Rechner zu installieren. Es gibt eine live Einführung in RStudio im Kurs. Zusätzlich können Sie hier ein Video dazu ansehen.
Die Oberfläche von RStudio ist in vier Bereiche unterteilt (Abbildung 1.1).
Sie sollten auch auf Ihrem eigenen Rechner einen Ordner für die Veranstaltung anlegen und darin jeweils einen Ordner für Folien, Daten und Notebooks.
1.3 Lesestoff
Kapitel 1.1 und 1.2 in Ismay and Kim (2021).
1.4 Gemeinsame Aufgaben
Bitte speichern Sie Ihr Skript regelmäßig ab!
1.4.1 Ars Haushaltsbuch
Der angehende Datenanalyst Ar Stat möchte dem Rat seiner Mutter folgen und ein Haushaltsbuch anlegen. Zuerst möchte er sich einen Überblick über seine Ausgaben in der Uni-Mensa verschaffen und erstellt die folgende Tabelle:
Wochentag | Ausgaben (€) |
---|---|
Montag | 2,57 |
Dienstag | 2,90 |
Mittwoch | 2,73 |
Donnerstag | 3,23 |
Freitag | 3,90 |
- Wie viel hat Ar insgesamt in der Woche ausgegeben?
- Wie groß ist die Differenz zwischen dem höchsten und dem niedrigsten Betrag?
- Wie viel hätte er insgesamt ausgegeben, wenn er jeden Tag so viel gezahlt hätte, wie am Dienstag. Wichtig: Verwenden Sie die [], um den Betrag von Dienstag auszuwählen!
Leider hat sich Ar beim Übertragen der Daten vertippt. Er hat am Dienstag seine Freundin zum Essen eingeladen und 7,95 € statt 2,90 € ausgegeben.
- Korrigieren Sie Ars Fehler.
- Wie verändern sich die Ergebnisse aus den Teilaufgaben 1 bis 3?
1.4.2 Fehlende Werte
R kodiert fehlende Werte mit NA
. Ar Stat hat am Montag der darauffolgenden Woche in der Mensa gegessen, aber vergessen, die Ausgaben zu notieren.
Wochentag | Amount spent (€) |
---|---|
Montag, 9. März | 2,57 |
Dienstag, 10. März | 2,90 |
Mittwoch, 11. März | 2,73 |
Donnerstag, 12. März | 3,23 |
Freitag, 13. März | 3,90 |
Montag, 16. März | NA |
- Wie ändert der fehlende Wert die Berechnung der Summe?
- Lesen Sie, was passiert, wenn der Datenvektor bei der Berechnung der Summe fehlende Werte enthält. Rufen Sie dazu die Hilfe auf, i.e.
?sum
. - Korrigieren Sie die Berechnung der Summe entsprechend.
1.5 Hausaufgaben
1.5.1 R als Taschenrechner
R ist ein großer Taschenrechner mit vielen bereits definierten Funktionen. Es gelten die üblichen Rechenregeln wie z. B. Punkt-vor-Strich und die Klammern.
- Schreiben Sie den Code, der 2 und 10 addiert.
Das korrekte Multiplikationszeichen in R ist *
.
- Geben Sie den folgenden Befehl korrekt in R ein: (2 + 10) \(\times\) 27
Bei Dezimalzahlen wird der Dezimalpunkt und nicht das Komma verwendet. Das ist wichtig zu beachten, wenn Sie später Daten in R einlesen möchten.
- Berechnen Sie die Summe von 2,34 und 4,98.
1.5.2 Zuweisungen
In R arbeitet man mit Objekten. Ein Objekt kann alles Mögliche sein: eine Variable, Daten, Vektoren etc. Wenn also das Ergebnis einer Berechnung oder ein Datenobjekt im R-Arbeitsbereich (workspace) zur Verfügung stehen soll, muss daraus ein Objekt erstellt werden.
Objekte erstellt man, indem man ihnen Namen gibt. Diesen Vorgang nennt man Zuweisung (assignment). Im Beispiel unten wird ein Objekt, in diesem Fall ein Skalar, namens x
erzeugt, mit dem Wert 42. Um den Wert von x
anzuzeigen, tippen Sie x
ein.
Zuweisungen können in R entweder mit dem =
erfolgen oder mit <-
. Beide Varianten sind gleichwertig. Dabei ist allerdings die Pfeilrichtung entscheidend! x <- 42
bedeutet: Die rechte Seite (Zahl 42) wird dem Objekt x
zugeordnet. Wenn man die Pfeilrichtung umdreht, ergibt die Zuweisung keinen Sinn und man erhält eine Fehlermeldung.
# Sinnvolle Zuweisung
<- 42
x # Gleichwertige sinnvolle Zuweisung
= 42
x # Sinnloser Ausdruck. Fehlermeldung!
-> 42 x
Error in 42 <- x: ungültige (do_set) linke Seite in Zuweisung
Objektnamen können (fast) frei gewählt werden. Sie müssen mit einem Buchstaben beginnen und dürfen keine Sonderzeichen enthalten. Bei längeren Namen empfiehlt sich ein _
. Streng verboten sind Namen von vordefinierten Funktionen!
- Erstellen Sie ein Objekt namens
mein_objekt
und weisen Sie ihm das Ergebnis der Berechnung \(23^{2}\) zu. Eine Potenz berechnen Sie mit^
.
Eine Zuweisung kann auch kompliziertere Anweisungen enthalten. Hier erstellen wir z. B. einen Vektor mithilfe der Funktion c
(concatenate) und weisen das Ergebnis dem Objekt my_a
zu.
<- c(32, 54, 1.2, 398) my_a
1.5.3 Funktionsaufruf
In R gibt es eine Vielzahl von vordefinierten Funktionen. Ein Funktionsaufruf hat immer die gleiche Form: mach_das(damit) oder mach_das(damit, und_mit_dieser_einstellung). Z. B. wird die Summe auf einem Objekt mein_objekt
mit sum(mein_objekt)
berechnet.
- Erstellen Sie einen Vektor mit den Zahlen 32, 54, 1,2 und 398 und weisen Sie ihn der Variablen
my_a
zu. - Berechnen Sie die Summe von
my_a
.
Sie können im Übrigen auch Vektoren sinnvoll addieren.
- Erstellen Sie einen Vektor
my_b
mit der passenden Länge und addieren Sie ihn zum Vektormy_a
. Die Addition erfolgt elementweise.
Häufig wollen wir für unsere Daten den Mittelwert berechnen.
- Berechnen Sie den Mittelwert von
my_a
- Berechnen Sie die Standardabweichung von
my_a
.
1.5.4 Objekte ansprechen
Um das “Innenleben” der Objekte in R anzusprechen, gibt es verschiedene Möglichkeiten. In diesem Tutorial konzentrieren wir uns auf Vektoren. Um die einzelnen Komponenten im Vektor anzusprechen, benutzt man eckige Klammern [ ]
. Um eine bestimmte Komponente zu adressieren (anzusprechen), schreibt man die Platznummer der Komponente in die Klammer. Wenn man im Vektor my_c
, z. B. die dritte Komponente extrahieren möchte, dann schreibt man my_c[3]
<- c(2, 45.7, pi, sqrt(23), 2^6)
my_c 3] my_c[
Wir können auch Vektoren erstellen, bei denen einzelne Elemente benannt sind.
<- c('Koeln' = 50667, 'Berlin' = 10965, "Stuttgart" = 70173) benannt
Elemente in solchen Vektoren kann man mit Namen in eckigen Klammern ansprechen. Die Namen müssen in Anführungszeichen geschrieben werden. Es spielt keine Rolle, ob Sie einfache oder doppelte Anführungszeichen benutzen.
- Fragen Sie nach dem Element
Koeln
im Vektorbenannt
.
1.5.5 Ihr erster Plot
Vor allem am Anfang kann die Lernkurve in R recht flach verlaufen. Daher sollten Sie nicht vergessen, warum Sie R lernen, nämlich um echte Datensätze zu analysieren.
Auch wenn Sie den Code unten noch nicht verstehen, kopieren Sie ihn in einen neuen R-Chunk in Ihrem Notebook und lassen Sie ihn laufen.
library(tidyverse)
library(gapminder)
<- gapminder %>%
gapminder2007 filter(year == 2007)
ggplot(gapminder2007, aes(x = gdpPercap, y = lifeExp, color = continent, size = pop)) +
geom_point() +
scale_x_log10() +
labs(x = 'Bruttoinlandsprodukt pro Einwohner (US$, inflationsbereinigt)',
y = 'Lebenserwartung bei der Geburt (Jahre)',
title = 'Daten von Gapminder für das Jahr 2007',
caption = 'http://www.gapminder.org/data/')
- Welche Daten sind in diesem Datensatz enthalten? Nutzen Sie die Hilfe, i. e.
?gapminder
. - Was stellen die Farben in der Abbildung dar?
- Was wird durch die Symbolgröße dargestellt?
- Wie würden Sie den Zusammenhang zwischen den Variablen
Bruttoinlandsprodukt pro Einwohner ($, inflationsbereinigt)
undLebenserwartung bei der Geburt (Jahre)
beschreiben?