Übung zu Statistik-Einführung 2

Dateienhandling & Summenzeichen

Organisation

Orga

  • Ist jemand da, der keine Anmeldung hat?
  • Fragen zur Übung von letzter Woche?
  • Notwendigkeit von Individualhilfe?

Durchzählen

  • Nacheinander! von 1 bis (Anzahl Teilnehmende) zählen.
  • Wenn zwei gleichzeitig, dann Abbruch und nächste Woche neuer Versuch!

Teamname

Vorschläge?

Check der ToDos (Hausaufgaben)

Hausaufgabe: Umgang mit Dateien

  1. Laden Sie sich SWITCH-Drive hier herunter und installieren Sie es.
  2. Legen Sie sich in Ihrem SWITCH-Ordner einen Unterordner «KW-Statistik-E-Projekt» an.
  3. Legen Sie in diesem Ordner folgende Unterordner an:
    • «files»
    • «images»
    • «data»
  4. Öffnen Sie RStudio und gehen Sie oben im Menü auf «File/New Project» und dann auf «Existing directory» und geben dort als «Project working directory» den gerade angelegten SWITCH-Ordner «KW-Statistik-E-Projekt» an.
  5. Suchen Sie sich den Ordner und komprimieren Sie ihn als .zip-File.
  6. Senden Sie die komprimierte .zip-File an Ihre:n Tutor:in.
  7. Laden Sie hier die .zip-File «Source code (zip)» herunter. Entpacken Sie sie und kopieren Sie anschliessend den entpackten Ordner in Ihr SWITCH-Laufwerk.
  8. Öffnen Sie den Ordner und starren Sie ihn eine Weile an.
  9. Doppelklicken Sie auf «Bericht.Rproj». Schauen Sie sich die ganzen Dateien im unteren rechten Panel «Files» an.

Einführung und Übungen in R

Variablenzuweisung

Betrachtet den folgenden Code, was passiert hier?

# Eine Variale zuweisen:
x <- 9 # Der Pfeil ist der Zuweisungs-Operator.
y <- 5 # Alles mit Hashtag ist ein Kommentar.
a <- "Text" # Auch Text kann man zuweisen.

DATEN <- readRDS(url("https://ikmz-statistik.pages.uzh.ch/begleiterin/data/Stat_Einfuehrung_Befragung.RDS")) # Befragungsdaten einlesen
  • Der Zuweisungs-Operator sorgt dafür, dass Zahlen, Datensätze oder ganze Listen in ein Objekt geschrieben - d.h. gespeichert - werden.
  • Ein Kommentar beginnt mit einer Raute. R ignoriert alles hinter dem «#», somit wird es vom Programm nicht als Code interpretiert.
  • Mit option + - könnt ihr den Zuweisungs-Operator einfügen.

Übung: Rechnen mit Variablen

Speichert die Zahl «9» in der Variable «x» und die Zahl «5» in der Variable «y». Führt anschliessend die folgenden Berechnungen in R durch:

# Rechnen mit Variablen
x <- 9 
y <- 5

Summe <- x + y
differenz <- x - y
produkt <- x * y
quotient <- x / y

Quadrat <- x^2

Wurzel <- x^0.5
# oder 
Wurzel <- sqrt(x)

Übung: Einfache Funktionen

R hat für (fast) alles Funktionen. Anstatt Mittelwerte so zu berechnen…

(1 + 2 + 3 + 4 + 5) / 5
[1] 3

… benutzt man die Funktion mean(). Warum ist dort ein c?

mean(c(1, 2, 3, 4, 5)) # Mittelwert
[1] 3

Oder man benutzt sum(), um die Summe zu berechnen.

sum(c(1, 2, 3, 4, 5)) # Summe
[1] 15

Führt diese Befehle in R aus. Was passiert, wenn man mit mean() anstatt Kommas ein «+» verwendet? Probiert es aus!

Repetition: Installation und laden von Paketen

  • Base R ist nur die Basis. Weitere Pakete können und müssen installiert werden mit install.packages().
# install.packages("tidyverse") # Hashtag bei euch entfernen!
  • Mit library() werden Pakete geladen, damit man sie verwenden kann.
library(tidyverse)
  • Alternativ zu install.packages() und library() können Pakete mit librarian::shelf() geladen und installiert werden, wenn sie fehlen.
librarian::shelf(tidyverse, readr, readxl)

Daten laden und speichern mit RDS

Base-R hat ein paar Beispieldatensätze. Der bekannteste ist sicher «mtcars». Speichern kann man Daten am besten im RDS-Format mit saveRDS().

# Speichern einer RDS-Datei
saveRDS(mtcars, "mtcars.rds")

# Laden einer RDS-Datei
mtcars_neu <- readRDS("mtcars.rds")

Exceldaten speichern und laden

Exceldaten kann man gut anschauen und editieren. Viele Programme und Onlinedienste lassen Excels raus.

# Excel-Datei speichern
writexl::write_xlsx(mtcars, "mtcars.xlsx")

# Excel-Datei laden
mtcars_excel <- readxl::read_excel("mtcars.xlsx")

Pipe-Operator

  • Im tidyverse wird alles als Tabelle (sog. tibble) behandelt.
  • In einer Pipe wird eine Tabelle immer weiter verarbeitet.
  • Für den senkrechten Strich:
    • Windows: Alt + Shift + <
    • Mac: Command + 7
# Ohne Pipe würde man ineinander schachteln, wie in Mathe: 
round(mean(log(c(1, 10, 100, 1000))), 2)
[1] 3.45
# Mit Pipe ist es viel besser:
c(1, 10, 100, 1000) |> # Dieses Zeichen am Zeilenende ist der Pipe-Operator,…
  log() |> # …welcher die Code-Zeilen aneinander hängt.
  mean() |> # Die zusammengehängten Zeilen sind die «Pipe».
  round(2) # Die letzte Zeile endet ohne Pipe-Operator.
[1] 3.45

Säulendiagramm

mtcars |>
  ggplot(aes(x = cyl)) + 
  geom_bar()

LEF 2

Offene Aufgaben

Beantwortet so kurz wie möglich und nur so ausführlich wie nötig die folgenden offenen Fragen.

Frage 2.1

Zählen Sie drei Grundformen der Datenvisualisierung auf? Tipp: Nicht Diagrammarten.

Frage 2.2

Was ist der Unterschied zwischen einem Säulendiagramm und einem Balkendiagramm. Wie werden beide im Englischen genannt?

Frage 2.3

Was ist der Unterschied zwischen einem Donut- und einem Kreis- bzw. Tortendiagramm?

Frage 2.4

Würden Sie Kennwerte auch zu den Datenvisualisierungen zählen? Begründen Sie Ihre Antwort.

Frage 2.8

Was ist:

\[ \sum_{i=1}^{5} i \]

Frage 2.9

Berechnen Sie:

\[ \sum_{i=1}^{10} 4 = ? \]

Frage 2.10

Berechnen Sie:

\[ \sum_{i=1}^{5} (3i + 1) = ? \]

Mit zwei Zeilen Code sieht das so aus.

i <- c(1:5)
sum(3 * i + 1)
[1] 50

Frage 2.10

Berechnen Sie:

Man kann es aber auch «von Hand» machen:

3 * 1 + 1 # 1 eingesetzt
[1] 4
3 * 2 + 1 # 2 eingesetzt
[1] 7
3 * 3 + 1 # 3 eingesetzt
[1] 10
3 * 4 + 1 # 4 eingesetzt
[1] 13
3 * 5 + 1 # 5 eingesetzt
[1] 16
4 + 7 + 10 + 13 + 16  # Summe aus allen Berechnungen bilden
[1] 50

Frage 2.11

Berechnen Sie:

Wenn \(a_{i}\) = \(i\) und \(n\) = \(7\), \(k\) = \(2\) \[ \sum_{i=1}^{7} a_i = \sum_{i=1}^{2} a_{i} + \sum_{i=3}^{7} a_{i} = ? \]

Frage 2.12

Zeigen Sie, dass das stimmt:

\[ \sum_{i=1}^{n} (a_i - b)^2 = \sum_{i=1}^{n} a_{i}^{2} - 2b \sum_{i=1}^{n} a_{i} + nb^2 \]

Tipp: Googeln Sie nach binomischer Formel.

Frage 2.13

Mit welchem Befehl werden in R…

  • Zeilen
  • Spalten

…ausgewählt?

Frage 2.14

Wie sieht in R der typische Zuweisungsoperator aus?

Frage 2.15

Mit welchem R-Befehl können Sie einen Datensatz sortieren?

Frage 2.16

Mit welchem R-Befehl können Sie neue Variablen berechnen?

Geschlossene Aufgaben

  • Kprim (MC)
  • Single-Choice (SC)
  • Text Replacement Task (TRT)

MC 2.1

Sind folgende Aussagen richtig oder falsch?

Balkendiagramme sind eigentlich horizontal angeordnet, aber oft werden auch Säulendiagramme als «Balkendiagramme» bezeichnet.

Für Zeitverläufe eignen sich eher Donutdiagramm als Liniendiagramm.

Tabellen gehören nicht zu den Datenvisualisierungen..

Kennwerte gehören nicht zu den Datenvisualisierungen.

SC 2.1

Mit welchem Diagrammtyp lassen sich am besten Umfänge von Ausprägungen vergleichen, die lange Namen haben?

Tortendiagramm

Donutdiagramm

Säulendiagramm

Balkendiagramm

Textwolke

MC 2.2

Sind folgende Aussagen richtig oder falsch?

Die «Grammar of Graphics» ist ein System, um den Aufbau von graphischen Datenvisualisierungen zu beschreiben.

Donutdiagramme können ineinander verschachtelt werden.

Zu den wichtigsten Elementen nach der «Grammar of Graphics» gehören: Konstanten, Charts und Balkendiagramme.

Das Graphikpaket ggplot2 ist nach den Regeln des «Grammar of Graphics» aufgebaut.

MC 2.3

Befragung

MC 2.3

Sind folgende Aussagen richtig oder falsch?

38 Prozent der Befragten sagen, dass die Aussage auf sie voll und ganz zutrifft.

38 Prozent der Befragten streben eine gute Note voll und ganz an.

13 Prozent der Befragten ist eine gute Note nicht so wichtig.

Alle Befragten haben auf die Frage geantwortet.

MC 2.4

Sind folgende Aussagen richtig oder falsch?

Die Reihenfolge der Summanden einer Summe ist egal.

Beim Rechnen mit Summenzeichen ist die Reihenfolge der Werte nicht egal.

Die Summe eines Summenzeichens kann man zerlegen.

Die Summe einer Konstante ist das Quadrat der Konstanten.

MC 2.5

Sind folgende Aussagen für R richtig oder falsch?

Der übliche Zuweisungsoperator in R ist: <-

Der übliche Zuweisungsoperator in R ist: <|

Mit einer Pipe werden zeilenweise Grafiken weiterverarbeitet.

Der Pipe-Operator in R ist |>, aber es geht auch %>%.

MC 2.6

Sind folgende Aussagen für R richtig oder falsch?

Mit «filter» werden Variablen bzw. Spalten ausgewählt.

Mit «select» werden Variablen bzw. Spalten ausgewählt.

Mit «c» werden Werte zu einem Vektor kombiniert.

Mit «mutate» werden neue Variablen berechnet.

TRT 2.1

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  ____(eins = 1)

TRT 2.1

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  mutate(eins = 1)

TRT 2.3

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  ____(!is.na(eins))

TRT 2.3

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  filter(!is.na(eins))

TRT 2.4

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  ____("eins")

TRT 2.4

Setzen Sie den richtigen Befehl ein (Tipp: select, filter, count oder mutate)

DATEN <- DATEN |> 
  select("eins")

Freies Üben mit R

Üben mit R

Ihr habt zwei Optionen:

  • Entweder ihr übt selbständig mit R und versucht ein paar Dinge für euch selbst herauszufinden oder…

  • …ihr ladet auf Teams oder im Skript die .zip-File «QuartoPlayground» runter und macht diese Übung durch.

Fragen?

  • Gibt es Unklarheiten bezgl. Vorlesung?
  • Gibt es Unklarheiten bezgl. Tutorat?
  • Gibt es Unklarheiten bezgl. Hausaufgaben und Übungen?
  • Gibt es Unklarheiten bezgl. Prüfung?

Gerne könnt ihr auch im Forum Feedback geben!

Bis nächste Woche!