---
title: "Lösungen zu Übung 1"
author: "Jonathan Harrington / Johanna Cronenberg"
date: "April 2021"
output: 
  html_document:
    number_sections: FALSE
    theme: flatly
    highlight: pygments
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

# Daten laden

Laden Sie die Data Frames `ai` und `asp` vom IPS-Server:

```{r}
url <- "http://www.phonetik.uni-muenchen.de/~jmh/lehre/Rdf"
ai <- read.table(file.path(url, "ai.txt"))
asp <- read.table(file.path(url, "asp.txt"))
```

# Q & A's

## 1. Basics

- **Q1.1**: *Erstellen Sie einen Vektor namens `num`, der diese Elemente enthält: 3, 10.15, -39.*

```{r}
num <- c(3, 10.15, -39)
```

- **Q1.2**: *Summieren Sie mittels einer Funktion alle Elemente des Vektors `num`.*

```{r}
sum(num)
```

- **Q1.3**: *Multiplizieren Sie jedes Element des Vektors `num` mit 10 und speichern Sie das Ergebnis in einer Variable namens `x`.*

```{r}
x <- num * 10
x
```

- **Q1.4**: *Erstellen Sie die Schriftzeichen-Variable `name`, die Ihren Namen enthält.*

```{r}
name <- "Mein Name"
```

- **Q1.5**: *Nutzen Sie eine Funktion, um den Inhalt der Variable `name` drei Mal auszugeben.*

```{r}
rep(name, times = 3)
```

- **Q1.6**: *Erstellen Sie mit den Funktionen `c()` und `rep()` einen Vektor namens `buchstaben` mit dem Inhalt: "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d" "e" "e" "e".*

```{r}
buchstaben <- rep(c("a", "b", "c", "d", "e"), each = 3)
buchstaben
```

- **Q1.7**: *Lassen Sie sich mittels einer Funktion nur die einzigartigen Elemente des Vektors `buchstaben` ausgeben (d.h. entfernen Sie die Duplikate).*

```{r}
unique(buchstaben)
```

- **Q1.8**: *Überprüfen Sie, ob "b" und "f" im Vektor `buchstaben` vorkommen.*

```{r}
c("b", "f") %in% buchstaben
```

- **Q1.9**: *Erstellen Sie mittels einer Funktion einen Vektor mit dem Inhalt: "10.Z" "11.Z" "12.Z" "13.Z" "14.Z" "15.Z" "16.Z" "17.Z" "18.Z" "19.Z" "20.Z".*

```{r}
paste(10:20, "Z", sep = ".")
```

- **Q1.10**: *Erstellen Sie mittels einer Funktion einen Vektor namens `z`, der folgende Elemente enthält: 1 1 3 3 6 6 1 1 3 3 6 6 1 1 3 3 6 6 1 1 3 3 6 6.*

```{r}
z <- rep(c(1, 3, 6), each = 2, times = 4)
```

- **Q1.11**: *Überprüfen Sie, wie häufig die Zahlen 1, 3, und 6 im Vektor `z` vorkommen.*

```{r}
table(z)
```

- **Q1.12**: *Erstellen Sie mittels einer Funktion eine Zahlensequenz aus 15 Zahlen, die bei 1 beginnen und bei 35 aufhören.*

```{r}
seq(from = 1, to = 35, length.out = 15)
```

- **Q1.13**: *Erstellen Sie mittels einer Funktion eine Zahlensequenz von 100 beginnend rückwärts bis 50, wobei die Zahlen jeweils einen Abstand von 3.5 haben sollen. Speichern Sie das Ergebnis in der Variable `zahlen` ab.*

```{r}
zahlen <- seq(from = 100, to = 50, by = -3.5)
```

- **Q1.14**: *Ziehen Sie die Quadratwurzel aus allen Zahlen im Vektor `zahlen`.*

```{r}
sqrt(zahlen)
```

- **Q1.15**: *Überprüfen Sie, welche Elemente des Vektors `zahlen` größer oder gleich 75 sind.*

```{r}
zahlen >= 75
```

## 2. Arbeit mit Data Frames

- **Q2.1**: *Lassen Sie sich die Dimensionen (Zeilen- und Spaltenzahl) des Data Frames `ai` ausgeben.*

```{r}
dim(ai)
```

- **Q2.2**: *Lassen Sie sich die Spaltennamen von `ai` ausgeben.*

```{r}
colnames(ai)
```

- **Q2.3**: *Recherchieren Sie, wie Sie sich den maximalen F1-Wert in `ai` ausgeben lassen können.*

```{r}
max(ai$F1)
```

- **Q2.4**: *Addieren Sie die Spalten `Lippe` und `Kiefer` aus dem Data Frame `ai` für jede Beobachtung.*

```{r}
ai$Lippe + ai$Kiefer
```

- **Q2.5**: *Subtrahieren Sie 100 von jedem F1-Wert in `ai`.*

```{r}
ai$F1 - 100
```

- **Q2.6**: *Lassen Sie sich die ersten Zeilen des Data Frames `asp` mittels einer Funktion ausgeben.*

```{r}
head(asp)
```

- **Q2.7**: *Verwenden Sie eine Funktion, um herauszufinden, wie oft die einzelnen Konsonanten in der Spalte `Kons` des Data Frames `asp` vorkommen.*

```{r}
table(asp$Kons)
```

