Übung 1: Einführung in R#

Was ist R?#

R ist ein Programm für statistische Berechnungen und Grafiken. Sie wird häufig in der Datenanalyse, Statistik und maschinellem Lernen verwendet. Man kann R für ganz einfache Berechnungen wie einen Taschenrechner verwenden. Darüberhinas bietet es aber sehr viele Möglichkeiten um komplexe Analysen durchzuführen.

Vorteile von R:#

  • Open Source und kostenlos

  • Große Community und viele Pakete

  • Leistungsfähig für Datenanalyse und Visualisierung

Wie führe ich den Code aus?#

Um den Code ausführen zu können haben Sie 2 Möglichkeiten:

  • Variante 1: Kopie des Codes in ein Skript nach R-Studio und dort ausführen (mit Strg + Enter wird eine Zeile ausgeführt; mit klick auf „source“ wird das gesamte Skript ausgeführt)

  • Variante 2: Öffnen dieser Seite im Jupyter-Hub, indem Sie auf die Rakete oben klicken; dort anmelden mit dem Login der Informatik; dann in den Code-klicken und mit Shift + Enter die Zelle ausführen.

Probieren Sie am besten mal beides aus.

R als Taschenrechner#

Die Grundrechenarten geben wir wie bei eine Taschenrechner ein. Auch Klammern geben wir wie bei einem Taschenrechner ein.

# Addition
3 + 5

# Multiplikation
4 * 7

# Potenzen
2^3

# Wurzel
sqrt(16)

# ein größerer Term
((3+4)/5)^2
8
28
8
4
1.96

Aufgaben#

Berechnen Sie

  1. \(10 \cdot 3 - 5^2 + \sqrt{49}\)

  2. \((8 + 24) \cdot (6 / 5) - 4^2\)

  3. \(\left(\frac{154 - 35}2\right)^\frac32 +2\sqrt{81}\)

  4. \(e^3 + \pi^2\)

  5. \(\frac{\sqrt[3]{3+5\cdot 7}}{4^3-5^2}\cdot 2^{11}\)

  6. \(12!\)

Lösungen (gerundet): \(12\), \(\quad 22.4\), \(\quad 476.9606\), \(\quad 29.9551\), \(\quad 176.5468\), \(\quad 479001600\)

# Hier kann gerechnet werden...

Variablen zuweisen und ausgeben#

Falls man größere Ausdrücke zu berechnen hat, sind Variablen hilfreich. Die Definition einer Variablen nennt man Zuweisung. Man nutzt dazu einen Pfeil <-. Hier sind ein paar Beispiele

x <- 10     # x bekommt den Wert 10 zugewiesen
y <- 5      # y bekommt den Wert 5 zugewiesen
z <- x + y  # z ist die Summe x und y
z           # Ausgabe des Ergebnisses
15

Das ist insbesondere dann nützlich, wenn die Formeln öfter verwendet werden sollen und sich die Werte der Variablen ändern.

Aufgaben#

Nutzen Sie jeweils Variablen und geben Sie die Lösungen aus

  1. Weisen Sie den Variablen a den Wert 7 und b den Wert 3 zu und berechnen Sie a hoch b

  2. Berechnen Sie \(3x+4x^2+7x^3-2x^4\) für \(x=3\)

  3. Berechnen Sie \(\frac{\lambda^k}{k!} \cdot e^{-\lambda}\) für \(\lambda=5\) und \(k=4\). Mit \(e\) ist die Eulersche Zahl gemeint.

  4. Berechnem Sie die beiden Zahlen \(p_0 - z \sqrt{\frac{p_0 (1 - p_0)}{n}}\) und \(p_0 + z \sqrt{\frac{p_0 (1 - p_0)}{n}}\) für \(p_0=0.4\), \(z=1.5\) und \(n=30\).

Lösungen (gerundet): \(343\), \(\quad 72\), \(\quad 0.1755\), \(\quad 0.2658\)

# Hier kann gerechnet werden...

Datentypen in R#

Datentypen sind grundlegend bei der Arbeit mit R, da sie bestimmen, wie Daten gespeichert und manipuliert werden.

Warum verschiedene Datenarten notwendig sind:#

  • Operationen: Verschiedene Operationen erfordern bestimmte Datenarten. Beispielsweise sind mathematische Operationen nur für numerische Daten gültig.

  • Speicherplatz: Numerische Daten benötigen in der Regel weniger Speicherplatz als Text.

  • Funktionserfordernisse: Viele Funktionen in R sind für bestimmte Datenarten konzipiert, beispielsweise benötigen Plot-Funktionen numerische Daten.

Wichtige Datenarten in R:#

  • Numerisch (Numeric):

    Beschreibung: Speichert Zahlen mit Dezimalstellen (z. B. 3,14).

    Beispiel: x <- 5; x <- 3.14

  • Zeichenkette (Character):

    Beschreibung: Speichert Text in Anführungszeichen.

    Beispiel: x <- "hallo"

  • Logisch (Logical/Boolean):

    Beschreibung: Boolesche Werte, entweder WAHR (TRUE) oder FALSCH (FALSE).

    Beispiel: x <- TRUE

Weitere wichtige Datentypen (die wir zum Teil noch kennenlernen):

  • Faktor (factor)

  • Vektor (vector)

  • Liste (list)

  • Matrix (matrix)

  • Data-Frame (data.frame)

Mit dem Befehl class() kann man den Datentyp eines Objekts anzeigen.

Beispiele#

# Numerisch
num <- 10.5
num

# Zeichenkette
text <- "Hallo R"
text

# Boolean
logisch <- TRUE
logisch
10.5
'Hallo R'
TRUE

Aufgaben#

  1. Erstellen Sie eine Variable mein_text mit dem Wert „Ich lerne R“. Geben Sie sie aus.

  2. Erstellen Sie eine numerische Variable x und eine Zeichenkette wort (mit beliebigen Werten) sowie eine boolsche Variable bool, welche WAHR ist. Nehmen Sie jeweils 2 der drei Variablen (auch 2 gleiche) und versuchen Sie diese mit + zu verknüpfen. Was passiert dabei? (z.B: x + wort oder bool + bool)

  3. Prüfen Sie mit class(wort), ob das Objekt tatsächlich den Datentyp character hat.

  4. Geben Sie 5<6 und 9<6 ein. Was passiert? Geben Sie class(5<6) ein.

  5. Definieren Sie zwei character Variablen vorname und nachname (weisen Sie beliebige Namen zu). Geben Sie nun paste(vorname, nachname) ein. Was passiert? Geben Sie dann folgendes ein: paste("Ich bin ",vorname). Erzeugen Sie nun mit paste und den Variablen vorname und nachname den besonders coolen Spruch: Mein Name ist Bond, James Bond mit Ihrem Vor- und Nachname aus

  6. Lernen Sie um Hilfe zu fragen! Geben Sie ein help(paste)

# Hier kann gerechnet werden...

Vektoren in R#

In der Statistik haben wir es typischerweise mit mehr als nur einer Zahl zu tun. Wir erheben und/oder analysieren Daten (meist Zahlen und meist sehr viele). Um diese gemeinsam abzulegen, gibt es verschiedene Datentypen. Die erste und einfachste Form ist der Vektor. Wie wir einen Vektor erstellen und damit rechnen, schauen wir uns im Beispiel an.

# Erstellen eines Vektors
vektor <- c(4, 3, 2, 2, 5)

#Ausgabe des Vektors
vektor

# Zugriff auf das zweite Element
vektor[2]

# Multiplikation mit einer Zahl
vektor * 2  # Alle Werte verdoppeln

# Addition einer Zahl
vektor + 3

# weiterer Vektor
vektor2 <- c(5, 4, 6, 3 ,1)

# Summe zweier Vektoren
vektor + vektor2
  1. 4
  2. 3
  3. 2
  4. 2
  5. 5
3
  1. 8
  2. 6
  3. 4
  4. 4
  5. 10
  1. 7
  2. 6
  3. 5
  4. 5
  5. 8
  1. 9
  2. 7
  3. 8
  4. 5
  5. 6

Man kann auch nur ein Element ändern:

# Definition und Ausgabe des Vektors
vector <- c(3,5,6,7,3)
vector

# Ausgabe von Element an Stelle 2
vector[2]

# Ändern von Element an Stelle 2
vector[2] <- 10

# Ausgabe das geänderten Vektors
vector
  1. 3
  2. 5
  3. 6
  4. 7
  5. 3
5
  1. 3
  2. 10
  3. 6
  4. 7
  5. 3

Aufgaben#

  1. Mit 1:8 lässt sich schnell ein Vektor mit den Zahlen \(1,2,...,8\) erstellen. Probieren Sie es aus.

  2. Probieren Sie auch 5:19 und 40:10 aus.

  3. Erstellen Sie einen Vektor mit den (natürlichen) Zahlen von 5 bis 15 und nennen Sie ihn vec1

  4. Geben Sie length(vec1) ein. Was passiert?

  5. Geben Sie ein vec2 <- c(4,6,3,4,6,1,7,6,3,7,8) und bilden Sie die Summe aus beiden Vektoren, nennen Sie diese s. Geben Sie nur das 4. Element von s aus. (Lösung: 12)

  6. Quadrieren Sie alle Element von vec2 und geben Sie diese aus

  7. Geben Sie den Befehl sum(vec2) ein. Was passiert hier?

  8. Summieren sie alle Elemente aus vec2 und teilen Sie dies durch die Anzahl der Element in vec2. (Geben Sie die Zahlen nicht ein, sondern nutzen Sie die Befehle, die Sie hier kennengelernt haben)

  9. Geben Sie mean(vec2) ein. Was passiert?

  10. Führen Sie die folgenden Schritte nacheinander aus:

    • Berechnen Sie den Mittelwert von vec2 und nenne sie diesen m.

    • Ziehen Sie m von allen Werten des Vektors vec2 ab.

    • Quadrieren Sie alle Werte des neuen Vektors.

    • Addieren Sie alle Werte des nun entstandenen Vektors.

    • Teilen Sie das Ergebnis durch „Anzahl der Elemente in vec2-1“ (Lösung: 4.6)

# Hier kann gerechnet werden...

Schriftliche Aufgabe 1#

Geben Sie für folgende Merkmale die Messbarkeit (nominal/ordinal/metrisch sowie diskret/stetig) an:

  • Religionszugehörigkeit

  • Platzierung bei einem Sportwettkampf

  • Längengrad auf der Erde

  • Körpergewicht

  • Anzahl der Einwohner eines Landes

  • Alter in Jahren

  • Blutgruppe


Schriftliche Aufgabe 2#

Bei einer Studie zur Steigerung des Umsatzes in einem Elektrofachgeschäft wurden eine Woche lang stichprobenartig insgesamt 150 Kunden gebeten, die unten aufgeführten Fragen zu beantworten.

(a) Ordnen Sie anhand dieser Studie die Begriffe zu:#

  • Grundgesamtheit

  • Merkmalsträger

  • Zustandsraum

  • Merkmalsausprägung

  • Merkmal

  • (konkrete) Stichprobe

(b) Welche Messbarkeit (nominal, ordinal, stetig) liegt für die einzelnen Merkmale vor? Sind diese Merkmale diskret oder stetig?#

Fragebogen:

  1. Geschlecht? weiblich [ ] männlich [ ]

  2. In welchem Jahr wurden Sie geboren?

  3. Wie ist Ihr Familienstand? verheiratet [ ], ledig [ ], geschieden [ ], verwitwet [ ]

  4. Wie viele Kinder haben Sie?

  5. Wie oft haben Sie im letzten Jahr hier eingekauft?

  6. Wie weit ist der Elektronikfachmarkt von Ihrem Wohnort entfernt (in km)?

  7. Wie sehr sind Sie mit der Mitarbeiterfreundlichkeit zufrieden?

    • gar nicht [ ]

    • mittel [ ]

    • gut [ ]

    • sehr gut [ ]

  8. Haben Sie schon einmal Gutscheine von uns genutzt?


Schriftliche Aufgabe 3#

Entwerfen Sie einen Fragebogen zum Thema „Studieren in Dresden“ mit insgesamt 6 Fragen. Hierbei sollen jeweils 2 nominal, 2 ordinal und 2 metrisch messbare Merkmale abgefragt werden.