---
title: "1. Übungsblatt"
author: "Bitte Namen einfügen"
format: 
  html:
    code-fold: true
    code-tools: true
    code-link: true
    df-print: paged
    code-line-numbers: true
  pdf: 
    default
editor: visual
number-sections: true
---

# Einführung in Quarto und R

## Quarto

Quarto ermöglicht es, Inhalte und ausführbaren Code zu einem fertigen Dokument zu verweben. Mehr über Quarto unter <https://quarto.org>.

## Code ausführen

Wenn Du auf die Schaltfläche **Render** klickst, wird ein Dokument erstellt, das sowohl den Inhalt als auch die **Ausgabe** des eingebetteten Codes enthält. Code kann wie folgt einbettet werden:

```{r}
# This is the first code chunk
1 + 1
```

Es können Optionen zu ausführbarem Code wie folgt hinzugefügt werden

```{r}
#| echo: false
2 * 2
```

`echo: false` deaktiviert das Drucken des Codes (nur die Ausgabe wird angezeigt).

## Arbeitsverzeichnis festsetzen

Als ersten Schritt sollte immer das Arbeitsverzeichnis festgelegt weren. Ändere dies bitte zu Deinem.

```{r}
# set working directory
setwd("Bitte eigenes Arbeitsverzeichnis einfügen")
```

## Packages installieren und laden

[R als Füller](https://jaspertjaden.github.io/course-intro2r/week2.html#week2)

Bevor Du (die meisten) Dinge in R tun kannst, musst Du zunächst Pakete (packages) installieren und laden, die eine Bibliothek (library) mit praktischen Funktionen enthalten. Stell Dir vor, R ist ein Füller. Die Pakete sind die Tinte. Du brauchst zunächst die Tinte (Paket installieren) und dann musst Du die Tinte in den Stift geben (Paket laden), bevor Du mit dem Schreiben beginnen kannst (einen Befehl ausführen). Base R mag Dir die Standardtinte liefern, aber andere Pakete können wertvollere und interessantere Farben liefern.

Wir nutzen in dieser Übung zwei Pakete:

1.  tidyverse: Hilfreich, um Datensatz augzubereiten. Eine gute Einführung in das Paket ist [hier](https://bookdown.org/yih_huynh/Guide-to-R-Book/tidyverse.html) oder [hier](https://jaspertjaden.github.io/course-intro2r/week3.html) zu finden.

2.  ggplot2: (im Paket tidyverse enthalten). Hilfreich, um schöne Graphen zu erstellen. Eine gute Einführung ist [hier](https://datacarpentry.github.io/r-socialsci/05-ggplot2.html) oder [hier](https://jaspertjaden.github.io/course-intro2r/week6.html) zu finden.

```{r}
#| echo: true
#| results: "hide"
#| warning: false
# Packages
pkgs <- c(
  "tidyverse"
) 

## Install uninstalled packages
lapply(pkgs[!(pkgs %in% installed.packages())], install.packages)

## Load all packages to library
lapply(pkgs, library, character.only = TRUE)

```

## Daten einlesen

Wir arbeiten mit dem Übungsdatensatz des SOEP (DOI:10.5684/soep.practice.v36). Es werden zwei Datensätze eingelesen. Der erste Datensatz enthalt die tatsächlichen Umfragedaten, der zweite Datensatz enthält die Variablenlabels.

```{r}
# read data
df = read.csv("../daten/soep_uebung.csv")
df_labels = read.csv("../daten/soep_labels.csv")
```

## Datenexploration

```{r}
# Wie viele Zeilen hat der Datensatz?
nrow(df)
```

Der Datensatz enthält `{r} nrow(df)` Beobachtungen.

## Datenexploration

Schauen wir uns die ersten Zeilen des Datensatzes an, um einen ersten Überblick über den Datensatz zu gewinnen.

```{r}
head(df)
```

## Welche Variablen sind im Datensatz enthalten?

```{r}
# Namen der Variablen
names(df)

#Namen, Datentyp und erste Einträge der Variablen
glimpse(df)

```

# Übungsaufgaben

## Frauen im Datensatz

Wie viele Beobachtungen im Datensatz sind Frauen?

```{r}
table(df$______)
```

## Balkendiagramm mit ggplot()

Erstelle ein Balkendiagramm, das die Verteilung des Alters darstellt.

```{r}
ggplot(df, aes(x = ______)) +
  geom_bar(fill = "skyblue", color = "black") +
  labs(
    title = "Verteilung des Alters",
    x = "Alter",
    y = "Häufigkeit"
  ) +
  theme_minimal()
```

## Summary Statistics

Wir alt ist die jüngste und wie alt die älteste Person?

```{r}

```

## Variablentypen

Welcher Variablentyp ist Geschlecht (sex)? Welcher Alter? Welcher Bildung?

```{r}

```

## (Kreuz-)tabellen

Wie viele Beobachtungen gibt es pro Jahr? Und getrennt nach Geschlecht?

```{r}
table(df$______)
table(df$______, ______)
```

## Datensatz Exploration

Was beinhaltet die Variable "einkommenj1" und "einkommenj2"?

```{r}

```

## Vektor

Erstelle einen Vektor, der die Ausprägungen der Variable "gesund_org" enthält. Und schaue Dir diesen Vektor an.

```{r}

```

## Data wrlangling

Wir möchten den subjektiven Gesundheitsstatus als numerische Variable nutzen. Wir müssen daher die Variable gesund_org in eine numerische Variable umwandeln. Achte auf fehlende Werte.

```{r}

```

## Balkendiagramm

Stelle die Verteilung des subjetiven Gesundheitsstatus graphisch dar

```{r}

# Barplot erstellen
ggplot(df, aes(x = factor(______))) +
  geom_bar(fill = "skyblue", color = "black") +
  labs(
    title = "Univariate Verteilung des subjektiven Gesundheitsstatus",
    x = "Subjektiver Gesundheitsstatus (1 = Sehr gut, 5 = Schlecht)",
    y = "Häufigkeit"
  ) +
  theme_minimal()

```

## Fehlende Werte

Gibt es fehlende Werte auf der Variable monatliches Einkommen (einkommenm1) und auf der Variable Alter?

```{r}


```

## Zusammenhangsanalyse

Schaue Dir den Zusammenhang von subjektiven Gesundheitsstatus und Alter graphisch mit Hilfe eines Scatterplots an. Beschränke die Daten auf das Jahr 2019 und auf Personen, die jünger als 65 Jahre alt sind.

```{r}
# Scatterplot mit ggplot2 erstellen

```

## Zusammenhangsanalyse mit log. Daten

Und nun mit logarithmiertem Einkommen. Was fällt auf?

```{r}


```

## Render

Wandle dieses Dokument in ein PDF und ein HTML Dokument um. Wo wird es gespeichert?

Tipp: in the YAML add "pdf: default" to the format.

# Weiterführende Literatur

-   [R for Data Science](https://r4ds.had.co.nz/)
