Kapitel 1 Erste Schritte in R
- Layout und Bedeutung einzelner Fenster in RStudio 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 diesm Kurs brachen werden. 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 thematische 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 der RStudio Server Pro, der extra für die digitale Lehre mit R an der UzK eingeführt wurde. Das ermöglicht einen schnelleren Einstieg in R und bietet eine fast-live Unterstützung durch den Dozenten beim Programmieren. 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. Sie können die open source Version kostenlos für Ihren Rechner hier herunterladen. 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 Daten, Skripte und Notebooks.
1.3 Lesestoff
Kapitel 1.1 und 1.2 in Ismay and Kim (2021).
1.4 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 viel hat er im Schnitt pro Tag ausgegeben?
- Wie stark schwanken seine Ausgaben?
Leider hat Ar sich 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 und warum 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.4.3 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 (ganz) verstehen, kopieren Sie ihn in Ihr R und lassen Sie ihn laufen.
library(tidyverse)
library(gapminder)
gapminder2007 <- gapminder %>%
filter(year == 2007)
ggplot(gapminder2007, aes(x = gdpPercap, y = lifeExp, color = continent, size = pop)) +
geom_point() +
scale_x_log10() +
xlab('GDP per capita') +
ylab('Life expectancy') +
labs(title = 'Gapminder data for the year 2007')
- 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
GDP per capita
undLife expectancy
beschreiben?
1.4.4 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.4.5 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.
x <- 42
# Zeige den Wert von x
x
Zuweisungen können in R entweder mit dem =
erfolgen oder mit <-
. Beide Varianten sind gleichwertig. Dabei ist allerdings Pfeilrichtung entscheidend! x <- 42
bedeutet: Die linke Seite (Zahl 42) wird dem Objekt x
zugeordnet. Wenn man die Pfeilrichtung umdreht, macht die Zuweisung keinen Sinn und man erhält eine Fehlermeldung.
# Sinnvolle Zuweisung
x <- 42
# Gleichwertige sinnvolle Zuweisung
x = 42
# Sinnloser Ausdruck. Fehlermeldung!
x -> 42
## 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.
my_a <- c(32, 54, 1.2, 398)
1.4.6 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.4.7 Objekte ansprechen
Um das “Innenleben” der Objekte in R anzusprechen, gibt es verschieden 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]
## [1] 3.141593
Wir können auch Vektoren erstellen, bei denen einzelne Elemente benannt sind.
benannt <- c('Koeln' = 50667, 'Berlin' = 10965, "Stuttgart" = 70173)
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 Ihre Arbeit einreichen
- Speichern Sie Ihre .R Datei ab.
- Laden Sie die Datei auf ILIAS in der dazugehörigen Übung hoch.
- Nach der Abgabe erhalten Sie die Musterlösung.
- Vergleichen Sie Ihre Lösung selbstständig mit der Musterlösung.
- Stellen Sie entweder in Campuswire (im #class-chat) oder in der nächsten Sitzung Fragen, falls Sie bei den Aufgaben etwas nicht verstanden haben und die Musterlösung es nicht aufklären konnte.
Beachten Sie die Deadline für das Hochladen der Hausaufgaben!
1.6 Lesestoff
r4ds, Kapitel 4 (Wickham and Grolemund 2021)