2  Wiederholung: Univariate & bivariate Beschreibung von Daten

2.1 Folien

Folien als Vollbild | Folien als PDF

2.2 Daten der heutigen Sitzung

2.3 Code und Ausgaben aus der Vorlesung

R Skript herunterladen

Laden der relevanten Pakete

library(patchwork) # Mehrere Grafiken zusammen darstellen
library(report) # Einfaches Erstellen von statistischen Berichten
library(datawizard) # Für Kreuztabellen
library(tidyverse) # Datenmanagement und Visualisierung: https://www.tidyverse.org/
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.6
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.1     ✔ tibble    3.3.0
✔ lubridate 1.9.4     ✔ tidyr     1.3.1
✔ purrr     1.2.0     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Lesen und Aufbereiten des Datensatz von Van Erkel & Van Aelst

d <- haven::read_stata(here::here("data/Vanerkel_Vanaelst_2021.dta")) |>
  rename(
    Political_knowledge = PK,
    Personalized_news = personalized_news,
    Radio = News_channels_w4_1,
    Television = News_channels_w4_2,
    Newspapers = News_channels_w4_3,
    Online_news_sites = News_channels_w4_4,
    Twitter = News_channels_w4_5,
    Facebook = News_channels_w4_6
  ) |>
  mutate(
    Gender = as_factor(Gender),
    Education = as_factor(Education)
  )

Datensatz mit ausgewählten Variablen im Tabellenformat

d |>
  select(
    Age, Gender, Education,
    Political_knowledge,
    Online_news_sites,
    Twitter,
    Facebook
  ) |>
  print(n = 30)
# A tibble: 993 × 7
     Age Gender Education Political_knowledge Online_news_sites Twitter Facebook
   <dbl> <fct>  <fct>                   <dbl> <dbl+lbl>         <dbl+l> <dbl+lb>
 1    45 female Middle                      2 2 [Less than onc… 1 [Nev… 1 [Neve…
 2    59 female High                        4 5 [(Almost) dail… 1 [Nev… 1 [Neve…
 3    52 female High                        4 5 [(Almost) dail… 1 [Nev… 1 [Neve…
 4    23 female High                        1 5 [(Almost) dail… 4 [3 t… 6 [More…
 5    23 female High                        1 3 [1 to 2 times … 1 [Nev… 6 [More…
 6    36 female Middle                      2 3 [1 to 2 times … 1 [Nev… 1 [Neve…
 7    21 female Middle                      3 3 [1 to 2 times … 3 [1 t… 4 [3 to…
 8    66 male   Middle                      3 2 [Less than onc… 1 [Nev… 1 [Neve…
 9    68 male   Middle                      4 1 [Never]         1 [Nev… 1 [Neve…
10    70 female Middle                      4 1 [Never]         1 [Nev… 1 [Neve…
11    65 female High                        2 2 [Less than onc… 1 [Nev… 5 [(Alm…
12    28 female Middle                      2 2 [Less than onc… 1 [Nev… 3 [1 to…
13    70 male   High                        4 6 [More than onc… 1 [Nev… 1 [Neve…
14    20 male   Middle                      0 4 [3 to 4 times … 1 [Nev… 3 [1 to…
15    50 female High                        4 1 [Never]         1 [Nev… 1 [Neve…
16    32 female Middle                      2 3 [1 to 2 times … 1 [Nev… 6 [More…
17    66 female Middle                      3 2 [Less than onc… 1 [Nev… 3 [1 to…
18    63 female Middle                      3 2 [Less than onc… 1 [Nev… 1 [Neve…
19    71 male   High                        5 6 [More than onc… 1 [Nev… 1 [Neve…
20    66 male   Middle                      4 1 [Never]         1 [Nev… 2 [Less…
21    24 male   High                        3 5 [(Almost) dail… 1 [Nev… 5 [(Alm…
22    36 female Middle                      1 4 [3 to 4 times … 1 [Nev… 6 [More…
23    56 female High                        4 5 [(Almost) dail… 1 [Nev… 1 [Neve…
24    22 male   Middle                      5 4 [3 to 4 times … 1 [Nev… 4 [3 to…
25    65 male   Lower                       5 1 [Never]         1 [Nev… 4 [3 to…
26    36 female High                        4 6 [More than onc… 1 [Nev… 6 [More…
27    63 female Lower                       1 1 [Never]         1 [Nev… 4 [3 to…
28    43 male   High                        3 5 [(Almost) dail… 3 [1 t… 3 [1 to…
29    42 male   High                        4 1 [Never]         1 [Nev… 1 [Neve…
30    43 female High                        3 2 [Less than onc… 1 [Nev… 1 [Neve…
# ℹ 963 more rows

Datensatz mit ausgewählten Variablen in Variablenübersicht

d |>
  select(
    Age, Gender, Education,
    Political_knowledge,
    Information_overload,
    Personalized_news,
    Radio,
    Television,
    Newspapers,
    Online_news_sites,
    Twitter,
    Facebook
  ) |>
  glimpse()
Rows: 993
Columns: 12
$ Age                  <dbl> 45, 59, 52, 23, 23, 36, 21, 66, 68, 70, 65, 28, 7…
$ Gender               <fct> female, female, female, female, female, female, f…
$ Education            <fct> Middle, High, High, High, High, Middle, Middle, M…
$ Political_knowledge  <dbl> 2, 4, 4, 1, 1, 2, 3, 3, 4, 4, 2, 2, 4, 0, 4, 2, 3…
$ Information_overload <dbl+lbl> 11, 11,  7, 13,  5,  2,  5,  5,  4,  8,  5,  …
$ Personalized_news    <dbl+lbl>  5, NA,  5,  3,  3,  4,  6, NA,  8, NA,  3,  …
$ Radio                <dbl+lbl> 3, 5, 3, 2, 6, 3, 5, 6, 5, 1, 3, 1, 6, 3, 6, …
$ Television           <dbl+lbl> 4, 3, 5, 5, 5, 1, 5, 5, 5, 5, 5, 1, 6, 4, 4, …
$ Newspapers           <dbl+lbl> 2, 5, 1, 5, 3, 1, 2, 1, 5, 5, 5, 2, 6, 5, 6, …
$ Online_news_sites    <dbl+lbl> 2, 5, 5, 5, 3, 3, 3, 2, 1, 1, 2, 2, 6, 4, 1, …
$ Twitter              <dbl+lbl> 1, 1, 1, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, …
$ Facebook             <dbl+lbl> 1, 1, 1, 6, 6, 1, 4, 1, 1, 1, 5, 3, 1, 3, 1, …

Soziodemographie der Stichprobe als Tabelle

d |>
  select(Gender, Education, Age) |>
  report_sample()
# Descriptive Statistics

Variable              |       Summary
-------------------------------------
Gender [female], %    |          47.7
Education [Lower], %  |          13.7
Education [Middle], % |          40.7
Education [High], %   |          45.6
Mean Age (SD)         | 52.98 (13.96)

Soziodemographie der Stichprobe als Text

d |>
  select(Gender, Education, Age) |>
  report_text()

The data contains 993 observations of the following 3 variables:

  • Gender: 2 levels, namely male (n = 519, 52.27%) and female (n = 474, 47.73%)
  • Education: 3 levels, namely Lower (n = 136, 13.70%), Middle (n = 404, 40.68%) and High (n = 453, 45.62%)
  • Age: n = 993, Mean = 52.98, SD = 13.96, Median = 56.00, MAD = 14.83, range: [19, 71], Skewness = -0.70, Kurtosis = -0.54, 0% missing

Soziodemographie der Stichprobe als Abbildungen

theme_set(theme_minimal(base_size = 12)) # Formatvorlage für Abbildungen setzen

# Drei Abbildungen erstellen
p1 <- d |>
  ggplot(aes(Gender)) +
  geom_bar()
p2 <- d |>
  ggplot(aes(Education)) +
  geom_bar()
M_age <- mean(d$Age) # Für Markierung des Mittelwerts
Mdn_age <- median(d$Age) # Für Markierung des Median
p3 <- d |>
  ggplot(aes(Age)) +
  geom_histogram(binwidth = 5) +
  geom_vline(xintercept = M_age, color = "red", linewidth = 2) +
  geom_vline(xintercept = Mdn_age, color = "green", linewidth = 2)
# Drei Abbildungen gemeinsam darstellen
p1 + p2 + p3 + plot_layout(widths = c(1, 2, 3))

Tabelle 2 aus dem Artikel replizieren

d |>
  select(
    Political_knowledge,
    Information_overload,
    Personalized_news,
    Radio,
    Television,
    Newspapers,
    Online_news_sites,
    Twitter,
    Facebook
  ) |>
  haven::zap_labels() |> # Entfernt labels, da das {report} Paket damit nicht umgehen kann
  report_sample()
# Descriptive Statistics

Variable                       |     Summary
--------------------------------------------
Mean Political_knowledge (SD)  | 3.04 (1.36)
Mean Information_overload (SD) | 8.46 (3.16)
Mean Personalized_news (SD)    | 5.16 (1.92)
Mean Radio (SD)                | 3.81 (1.73)
Mean Television (SD)           | 4.43 (1.33)
Mean Newspapers (SD)           | 3.52 (1.69)
Mean Online_news_sites (SD)    | 3.44 (1.72)
Mean Twitter (SD)              | 1.34 (0.99)
Mean Facebook (SD)             | 2.69 (1.95)

Tabelle 2 aus dem Artikel erweitern

d |>
  select(
    Political_knowledge,
    Information_overload,
    Personalized_news,
    Radio,
    Television,
    Newspapers,
    Online_news_sites,
    Twitter,
    Facebook
  ) |>
  haven::zap_labels() |>
  report::report() |>
  as.data.frame()
Variable             | n_Obs | Mean |   SD | Median |  MAD | Min | Max
----------------------------------------------------------------------
Political_knowledge  |   993 | 3.04 | 1.36 |      3 | 1.48 |   0 |   5
Information_overload |   993 | 8.46 | 3.16 |      8 | 2.97 |   0 |  16
Personalized_news    |   993 | 5.16 | 1.92 |      5 | 1.48 |   0 |  12
Radio                |   993 | 3.81 | 1.73 |      4 | 1.48 |   1 |   6
Television           |   993 | 4.43 | 1.33 |      5 | 0.00 |   1 |   6
Newspapers           |   993 | 3.52 | 1.69 |      4 | 1.48 |   1 |   6
Online_news_sites    |   993 | 3.44 | 1.72 |      4 | 1.48 |   1 |   6
Twitter              |   993 | 1.34 | 0.99 |      1 | 0.00 |   1 |   6
Facebook             |   993 | 2.69 | 1.95 |      2 | 1.48 |   1 |   6

Variable             | Skewness | Kurtosis | percentage_Missing
---------------------------------------------------------------
Political_knowledge  |    -0.40 |    -0.47 |               0.00
Information_overload |    -0.22 |     0.09 |               0.00
Personalized_news    |    -0.02 |     0.35 |              21.55
Radio                |    -0.41 |    -1.22 |               0.00
Television           |    -1.23 |     0.73 |               0.00
Newspapers           |    -0.25 |    -1.34 |               0.00
Online_news_sites    |    -0.15 |    -1.37 |               0.00
Twitter              |     3.24 |    10.04 |               0.00
Facebook             |     0.57 |    -1.35 |               0.00

Tabelle 3 aus dem Artikel replizieren

tab3 <- d |>
  select(
    Radio,
    Television,
    Newspapers,
    Online_news_sites,
    Twitter,
    Facebook
  ) |>
  mutate(
    across(everything(), as_factor)
  ) |>
  haven::zap_labels() |>
  report_sample() |>
  # Ab hier nur Formatierung, um Tabelle aus Artikel genau nachzubauen.
  separate(Variable, c("Variable", "Class"), sep = " \\[") |>
  spread(Variable, Summary) |>
  mutate(Class = str_remove_all(Class, fixed("],"))) |>
  _[c(6, 4, 2, 3, 1, 5), c(1, 5, 6, 3, 4, 7, 2)]
tab3
                    Class Radio Television Newspapers Online_news_sites Twitter
6                 Never %  16.3        6.1       19.6              21.9    85.3
4 Less than once a week %  11.4        5.0       12.6              12.5     6.2
2   1 to 2 times a week %  12.4       10.3       13.8              13.4     2.7
3   3 to 4 times a week %  11.2       10.5       12.9              15.1     1.8
1        (Almost) daily %  32.5       54.2       32.6              26.9     2.5
5  More than once a day %  16.2       13.9        8.5              10.3     1.4
  Facebook
6     49.5
4      8.1
2      7.2
3      6.8
1     16.1
5     12.3

tab3 |>
  mutate(across(2:7, cumsum))
                    Class Radio Television Newspapers Online_news_sites Twitter
6                 Never %  16.3        6.1       19.6              21.9    85.3
4 Less than once a week %  27.7       11.1       32.2              34.4    91.5
2   1 to 2 times a week %  40.1       21.4       46.0              47.8    94.2
3   3 to 4 times a week %  51.3       31.9       58.9              62.9    96.0
1        (Almost) daily %  83.8       86.1       91.5              89.8    98.5
5  More than once a day % 100.0      100.0      100.0             100.1    99.9
  Facebook
6     49.5
4     57.6
2     64.8
3     71.6
1     87.7
5    100.0

Abbildung 1 aus dem Artikel replizieren

d |>
  ggplot(aes(Political_knowledge)) +
  geom_bar()

Begleitender Text zu Abbildung 1

d$Political_knowledge |>
  report_text()

d$Political_knowledge: n = 993, Mean = 3.04, SD = 1.36, Median = 3.00, MAD = 1.48, range: [0, 5], Skewness = -0.40, Kurtosis = -0.47, 0% missing

Kreuztabelle

d |>
  mutate(trad = factor(trad, labels = c(
    "traditional news diet: no",
    "traditional news diet: yes"
  ))) |>
  data_tabulate(
    select = trad, by = "Gender",
    remove_na = TRUE, proportions = "column"
  )

Gruppenanteile als Abbildung I

d |>
  mutate(trad = factor(trad, labels = c(
    "trad. news: no",
    "trad. news: yes"
  ))) |>
  ggplot(aes(trad, fill = Gender)) +
  geom_bar(
    aes(y = after_stat(count / tapply(count, fill, sum)[fill])),
    position = position_dodge()
  ) +
  scale_y_continuous(name = NULL, labels = scales::percent_format(accuracy = 1))

Gruppenanteile als Abbildung II

d |>
  mutate(trad = factor(trad, labels = c(
    "no",
    "yes"
  ))) |>
  ggplot(aes(trad, fill = Gender)) +
  geom_bar(
    aes(y = after_stat(count / tapply(count, fill, sum)[fill])),
    position = position_dodge()
  ) +
  scale_y_continuous(name = NULL, labels = scales::percent_format(accuracy = 1)) +
  facet_wrap("Gender")

Kennwerte für Gruppen (M, SD)

d |>
  select(Political_knowledge, Gender) |>
  report_sample(by = "Gender")
# Descriptive Statistics

Variable                      | male (n=519) | female (n=474) | Total (n=993)
-----------------------------------------------------------------------------
Mean Political_knowledge (SD) |  3.44 (1.32) |    2.61 (1.28) |   3.04 (1.36)

Kennwerte für Gruppen (mehr Kennwerte) mit summarise() aus dem {tidyverse}

d |>
  select(Political_knowledge, Gender) |>
  summarise(
    n = n(),
    M = mean(Political_knowledge),
    SD = sd(Political_knowledge),
    Mdn = median(Political_knowledge),
    MAD = mad(Political_knowledge),
    Min = min(Political_knowledge),
    Max = max(Political_knowledge),
    Skewness = e1071::skewness(Political_knowledge), # Paket e1071 muss ggf. installiert werden
    Kurtosis = e1071::kurtosis(Political_knowledge), # Paket e1071 muss ggf. installiert werden
    .by = Gender
  )
# A tibble: 2 × 10
  Gender     n     M    SD   Mdn   MAD   Min   Max Skewness Kurtosis
  <fct>  <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>    <dbl>    <dbl>
1 female   474  2.61  1.28     3  1.48     0     5   -0.207  -0.443 
2 male     519  3.44  1.32     4  1.48     0     5   -0.720  -0.0242

2.4 Hausaufgabe

Vollziehen Sie die Analysen nach, deren Ausgaben wir in der Vorlesung besprochen haben.

  • Vergleichen Sie Ihre Ausgaben mit den Ausgaben und, falls zutreffend, mit den relevanten Stellen in Van Erkel & Van Aelst (2021).
  • Interpretieren Sie alle Ausgaben und stellen Sie sicher, dass Sie die Bedeutung jeder Zahl verstehen.
  • Notieren Sie alle Zahlen, die Sie nicht verstanden haben, und fragen Sie nach.

Lösung

Siehe Code und Ausgaben aus der Vorlesung

2.5 Transkript Teil 1 (Vorlesungssitzung 2)

Das folgende Transkript wurde auf Basis der Aufzeichnung der Vorlesung erstellt. Die vollständige Aufzeichnungen inklusive der Bildschirminhalte sind in Blackboard🔒 verfügbar. Die Tonspur wurde mit VoiceAI transkribiert. Das Transkript wurde dann mit Sprachmodellen (v.a. Claude Sonnet 4.5) geglättet und formatiert. In diesem Prozess kann es an verschiedenen Stellen zu Fehlern kommen. Im Zweifel gilt das gesprochene Wort, und auch beim Vortrag mache ich Fehler.

Ich stelle das Transkript hier als experimentelles, ergänzendes Material zur Dokumentation der Vorlesung zur Verfügung. Noch bin ich mir unsicher, ob es eine sinnvolle Ergänzung ist und behalte mir vor, es weiter zu bearbeiten oder zu löschen.

Organisatorisches

Die Aufzeichnung der ersten Vorlesung wurde erfolgreich erstellt und ist verhältnismäßig verständlich. Es wird voraussichtlich Aufzeichnungen der Sitzungen geben, allerdings ohne Garantie, da die Technik nicht vollständig kontrollierbar ist. Die Videos werden in den kommenden Wochen im Blackboard zur Verfügung gestellt, nachdem geprüft wurde, ob eine Bearbeitung notwendig ist.

Die Aufzeichnung läuft über das Mikrofon am Pult. Fragen ohne Mikrofon werden nicht aufgezeichnet. Wer möchte, dass die eigene Frage in der Aufzeichnung enthalten ist, kann nach einem Mikrofon fragen.

Überblick zur heutigen Sitzung

Die heutige Sitzung beschäftigt sich mit der Wiederholung der univariaten und bivariaten beschreibenden Statistik. Es gibt sehr viele Folien, die nicht alle besprochen werden. Ein Teil davon dient zum Nachschlagen. Die Sitzung zeigt auch einen ersten Einstieg in RStudio und R, zunächst durch das Lesen von R-Code, um einen ersten Eindruck zu vermitteln, wie das funktioniert. Es geht vor allem darum, solche Analysen im Grundsatz zu verstehen. Bei späteren Sitzungen mit neuen und komplexeren statistischen Verfahren wird das Material weniger dicht sein.

Vorkenntnisse der Teilnehmenden

An der Befragung haben 76 Personen teilgenommen. Über 80 Prozent haben bereits mindestens eine Statistikvorlesung besucht und sollten von den heute verwendeten Begriffen schon gehört haben. Bei qualitativen Analysemethoden sind die Vorkenntnisse aus Vorlesungen etwas geringer. Praktische Erfahrungen zeigen ein ausgeglicheneres Bild: Knapp mehr als die Hälfte hat bereits quantitative Arbeiten durchgeführt, noch etwas mehr haben qualitative Arbeiten selbst gemacht.

Circa die Hälfte bis ein Viertel traut sich die Durchführung qualitativer Verfahren selbst zu. Bei quantitativen Analyseverfahren und Statistik zeigt sich ein Gap zwischen dem, was interpretiert werden könnte, und dem, was selbst durchgeführt werden könnte. Circa die Hälfte traut sich die Arbeit mit Standardverfahren zu, was ein guter Ausgangspunkt ist. Für die andere Hälfte besteht subjektiv Nachholbedarf.

Bei der Software-Vorerfahrung hat die Mehrheit noch keine Erfahrung mit Datenanalysesoftware. Excel ist das am häufigsten genutzte Tool. Bei quantitativer Software halten sich SPSS und RStudio etwa die Waage mit jeweils etwa einem Drittel Nutzungserfahrung. MaxQDA wurde von etwa einem Drittel für qualitative Arbeiten verwendet.

Beschreibende Statistik: Grundlagen

Beschreibende oder deskriptive Statistik bedeutet, viele Zahlen – die erhobenen Daten – durch weniger Zahlen zu beschreiben, um Ergebnisse selbst gut verstehen und kommunizieren zu können. Dazu werden Grafiken, Tabellen und Kennwerte erstellt. Die beschreibende Statistik beschreibt nur die Stichprobe, also die Fälle im Datensatz. Sie sagt noch nichts über Grundgesamtheiten aus, aus der die Stichprobe kommt. Das ist Aufgabe der Inferenzstatistik, die in der nächsten Woche wiederholt wird.

Skalenniveaus

Das Skalenniveau ist eine der zentralen Grundlagen. Es wird unterschieden zwischen:

Nominalskala: Variablen wie Gender, bei denen für jede Ausprägung nur festgestellt werden kann, ob ein Fall diese Ausprägung hat oder nicht. Es gibt keine Rangordnung. Bei der Analyse wird gezählt, wie häufig verschiedene Ausprägungen vorkommen.

Metrische Skalen (Ordinal-, Intervall-, Verhältnisskala): Variablen, bei denen Rangordnungen gefunden werden können und mit denen gerechnet werden kann. Beispielsweise politisches Wissen mit fünf Wissensfragen, bei denen die Anzahl richtig beantworteter Fragen gezählt wird. Hier werden Durchschnitt, Median und ähnliche Kennwerte berechnet.

Das Skalenniveau bestimmt, welche statistischen Maßzahlen sinnvoll angewendet werden können. Wer sich unsicher fühlt, sollte dies nachlesen, beispielsweise bei Brosius et al.

Häufigkeitsanalysen

Bei Häufigkeitsanalysen werden alle Ausprägungen einer Variable genommen und gezählt, wie häufig sie vorkommen. Die Darstellung erfolgt durch absolute Zahlen oder Anteile, entweder in Tabellen, einzelnen Zahlen oder grafisch. Dies ist die einfachste Form, Daten zusammenzufassen.

Kennwerte zur Beschreibung

Kennwerte dienen dazu, mit wenigen Werten die Daten möglichst gut zu beschreiben. Die Zahlen sollen Informationen reduzieren und komprimieren. Sie sollen empfindlich gegenüber Veränderungen sein (genau), aber auch robust (ein Ausreißer sollte die Maßzahl nicht völlig verändern).

Kennwerte der zentralen Tendenz beschreiben einen einzelnen, sehr typischen Wert für die Verteilung:

  • Arithmetisches Mittel (Durchschnitt)
  • Median (mittlerer Fall)
  • Modus (häufigster Wert)

Maßzahlen der Streuung geben an, wie typisch der zentrale Wert wirklich ist:

  • Standardabweichung (fast immer berichtet)
  • Bei kleiner Streuung ist der zentrale Wert sehr typisch
  • Bei großer Streuung sind die Fälle weit um den zentralen Wert verteilt

Immer wenn ein arithmetisches Mittel berichtet wird, sollte auch die Standardabweichung berichtet werden, um zu zeigen, wie typisch dieser Wert ist.

Weitere Maßzahlen:

  • Schiefe: Liegt der Schwerpunkt der Verteilung eher links oder rechts?
  • Wölbung (Kurtosis): Läuft die Verteilung spitz zu oder ist sie breit?

Diese werden in der Praxis seltener berichtet. Linksschiefe Verteilungen steigen leicht an und fallen stärker ab. Rechtsschiefe Verteilungen verlaufen umgekehrt.

Es müssen keine Formeln auswendig gelernt werden. Es geht darum, mit den Analysen inhaltlich arbeiten zu können.

Datensatz Van Erkel & Van Aelst

Die Studie untersucht, warum und wann Mediennutzung zu Wissenszuwachs führt. Es geht um Surveillance Knowledge – beobachtendes Wissen darüber, was gerade politisch passiert. Vor Social Media war die Idee, dass Massenmedien wie die Tagesschau allen ein solches Grundwissen zur Verfügung stellen.

Mit fragmentierter Medienlandschaft und Social Media stellt sich die Frage, ob dies noch funktioniert. Einige Studien zeigen, dass Menschen mit hoher Social Media-Nutzung ein hohes gefühltes Wissen haben, aber bei Wissenstests nicht besser abschneiden – eine “Illusion of Knowledge”.

Van Erkel und Van Aelst führten eine Studie in Flandern durch mit 993 Befragten. Es wurden fünf Wissensfragen gestellt (richtige und falsche Antworten möglich) und nach der Mediennutzung gefragt. Die Forschenden haben ihre Daten und ihren Analysecode veröffentlicht, sodass die Analyse nachvollzogen werden kann.

Datenstruktur

Ein Datensatz ist eine Tabelle mit Variablen in den Spalten (die gestellten Fragen) und Fällen in den Zeilen (die befragten Personen). Für politisches Wissen gibt es Werte von 0 bis 5 (Anzahl richtig beantworteter Fragen). Bei Mediennutzung wurden Häufigkeiten erfragt auf Skalen, die meist von 1 (never) bis 6 (mehrmals täglich) reichen.

Wichtig: Bei politischem Wissen beginnt die Skala bei 0 (0 Fragen richtig), während Mediennutzungsskalen bei 1 beginnen (never). Dies ist eine definierte Entscheidung, die bestimmt, wie später mit den Werten gerechnet werden kann. Ein Mittelwert von 1,3 ist nahe bei “never”, während ein Mittelwert kleiner als 1 gar nicht möglich ist.

Soziodemografische Beschreibung

Für kategoriale Variablen (nominal oder ordinal) werden Anteile angegeben:

  • Gender: 47,7% identifizierten sich als weiblich
  • Bildung: Relativ geringe Zahl gering gebildeter Menschen, jeweils knapp die Hälfte mittel- und hochgebildet – eine verhältnismäßig hochgebildete Stichprobe

Für metrische Variablen werden Mittelwert und Standardabweichung berichtet:

  • Alter: Durchschnitt 53 Jahre, Standardabweichung 14 Jahre
  • Die 53 Jahre sind nicht besonders typisch, da die Streuung sehr groß ist
  • In der grafischen Darstellung (Histogramm) zeigt sich, dass bei jüngeren Menschen weniger Befragte vorliegen, bei älteren mehr
  • Die Schiefe ist negativ (linksschief), die Kurtosis ist negativ (relativ breite Verteilung)

Politisches Wissen und weitere Variablen

Politisches Wissen: Im Durchschnitt und im Median wurden drei von fünf Fragen richtig beantwortet. Die Standardabweichung liegt bei 1,4 Punkten. Das bedeutet, es wäre eine starke Verkürzung zu sagen, die Menschen beantworten drei Fragen richtig. Werte zwischen etwa zwei und vier Fragen richtig sind verhältnismäßig typisch für diese Verteilung. Alle fünf Fragen richtig zu haben oder keine bzw. nur eine richtig zu haben, ist eher untypisch.

Information Overload Index (0 bis 16): Mehrere Indikatoren wurden zu einem Index zusammengefasst. 0 bedeutet kein gefühlter Information Overload, 16 bedeutet komplett von Informationen überlastet. Bei diesem Index wurden alle Fragen so gestellt, dass hohe Antworten auf hohen Overload hindeuten.

Personalized News Environment Index (0 bis 12): Ebenfalls aus mehreren Fragen zusammengesetzt. 0 bedeutet, Nachrichten sind gar nicht personalisiert, 12 bedeutet, Nachrichten sind genau zugeschnitten. Hier wurden Fragen in beide Richtungen gestellt. Bevor der Index berechnet wird, müssen Fragen, bei denen hohe Antworten niedriges Personalized News Environment implizieren, umgedreht werden. Das Mischen der Fragerichtungen soll helfen, dass Befragte die Fragen tatsächlich lesen und durchdenken, statt einfach durchzukreuzen.

Mediennutzung

Die Befragten wurden nach ihrer Nutzung von Nachrichten in verschiedenen Kanälen gefragt: Radio, Fernsehen, Zeitungen, Online-Nachrichten, Twitter und Facebook. Die Skala reichte von 1 (never) bis 6 (mehrmals täglich).

Klassische Medien werden in dieser Stichprobe am häufigsten genutzt. Facebook als Social Media-Kanal wird im Mittel seltener genutzt als Zeitung oder Radio, hat aber eine große Streuung. Dies könnte auf unterschiedliches Nutzungsverhalten verschiedener Altersgruppen hindeuten – eine Hypothese für bivariate Analyse.

Bei den Standardabweichungen fällt auf, dass die Streuung nur in Relation zur Skala sinnvoll interpretierbar ist. Die Medienskalen (1-6) und die Wissensskala (0-5) sind zwar ähnlich breit, messen aber völlig unterschiedliche Dinge. Daher ist ein direkter Vergleich der Standardabweichungen nicht sinnvoll.

Die MAD-Werte (Median Absolute Deviation) zeigen häufig ähnliche Werte (1,48 oder 0,0). Dies liegt an der Berechnungsweise: Die mittlere absolute Abweichung vom Median wird mit 1,48 multipliziert, um sie mit der Standardabweichung vergleichbar zu machen. Diese Normierung bezieht sich auf die Standard-Normalverteilung.

Einführung in R und RStudio

R ist eine Programmiersprache zur Arbeit mit Daten. Es gibt ein Basispaket und viele Erweiterungspakete (Libraries). Am Anfang jeder R-Session müssen die benötigten Libraries geladen werden, zum Beispiel mit library().

Grundlegende Schritte einer Analyse:

  1. Pakete laden: Mit Befehlen wie library(tidyverse) werden Werkzeuge geladen, die für die Analyse benötigt werden. Warnungen können meist ignoriert werden, solange alles funktioniert.
  2. Daten einlesen: Mit Funktionen wie haven::read_stata() werden Daten eingelesen. Das Assignment <- weist die gelesenen Daten einem Objekt zu, z.B. d <- haven::read_stata("pfad/datei.dta").
  3. Daten aufbereiten: Mit der Pipe |> werden weitere Schritte angehängt:
    • rename(): Variablen umbenennen (z.B. pol_knowledge = PK)
    • mutate(): Variablen umwandeln (z.B. in Faktoren für kategoriale Variablen)
  4. Analysen durchführen: Wieder mit Pipe-Struktur:
    • select(): Variablen auswählen
    • report_sample(): Deskriptive Statistiken erstellen
    • Die Ausgabe wird mit print() angezeigt

R-Code lesen lernen: Es geht jetzt noch nicht darum, Code selbst schreiben zu können, sondern ihn zu verstehen. Die Logik ist sequentiell von oben nach unten. Man beginnt mit einem Datensatz, wendet dann Funktionen an (durch Pipes verbunden), um Variablen auszuwählen, zu transformieren oder zu analysieren.

Beispiel: d |> select(gender, education, age) |> report_sample() bedeutet: Nimm den Datensatz d, wähle die Variablen gender, education und age aus, und erstelle dann eine deskriptive Statistik.

Hilfsmittel

Large Language Models oder KI-Assistenten können sehr gut helfen, R-Code zu verstehen. Man kann z.B. Chat-AI (mit Uni-Account kostenlos) oder KI-Assist-at-FU nutzen und eingeben: “Erkläre mir den folgenden R-Code Schritt für Schritt”. Die Erklärungen können sehr hilfreich sein.

Auch Analyseoutputs können an solche Assistenten übergeben werden mit der Bitte: “Das ist die Ausgabe meiner Analyse, hilf mir, einen kurzen Absatz dazu zu schreiben.”

Übungsaufgaben

Die univariaten beschreibenden Analysen sollten nachvollzogen werden, entweder durch eigene Reproduktion in R/RStudio oder durch Durcharbeiten des kompilierten Materials auf der Webseite. Wichtig ist das Verständnis der Statistiken als Grundlage für weitergehende Verfahren in kommenden Sitzungen.

Bei allen Ausgaben sollte klar sein, was jede Zahl inhaltlich bedeutet. Es muss nicht bekannt sein, wie die Berechnung mit dem Taschenrechner funktioniert. Aber es muss verstanden werden, was beispielsweise ein Mittelwert von 3 mit Standardabweichung 1,3 für die Verteilung bedeutet.

2.6 Transkript Teil 2 (Vorlesungssitzung 3)

Das folgende Transkript wurde auf Basis der Aufzeichnung der Vorlesung erstellt. Die vollständige Aufzeichnungen inklusive der Bildschirminhalte sind in Blackboard🔒 verfügbar. Die Tonspur wurde mit VoiceAI transkribiert. Das Transkript wurde dann mit Sprachmodellen (v.a. Claude Sonnet 4.5) geglättet und formatiert. In diesem Prozess kann es an verschiedenen Stellen zu Fehlern kommen. Im Zweifel gilt das gesprochene Wort, und auch beim Vortrag mache ich Fehler.

Ich stelle das Transkript hier als experimentelles, ergänzendes Material zur Dokumentation der Vorlesung zur Verfügung. Noch bin ich mir unsicher, ob es eine sinnvolle Ergänzung ist und behalte mir vor, es weiter zu bearbeiten oder zu löschen.

Einführung und Rückblick

Die heutige Vorlesung behandelt den zweiten Teil zur univariaten und bivariaten Beschreibung von Daten. In der letzten Sitzung wurde die univariate Beschreibung von Daten behandelt. Als zentrales Beispiel diente die Studie von Van Erkel und Van Aelst über Social-Media-Nutzung und politisches Wissen. Die Forschenden untersuchten, was Menschen aus Social-Media-Nutzung lernen und ob sie ihr Beobachtungswissen über die politische Landschaft in Belgien und Flandern abrufen können. Die Studie umfasste einen Wissenstest und eine Befragung zur Mediennutzung.

In der ersten Sitzung wurden verschiedene Kennzahlen zur Beschreibung des Datensatzes besprochen. Zum Ende der letzten Vorlesung wurde ein erster Einblick in R-Code gegeben, um zu zeigen, wie ein Datensatz in der praktischen Datenanalyse geladen wird und wie Auswertungen entstehen.

Im Blackboard wurde ein Ordner mit Folien aus der Bachelor-Vorlesung von Dr. Lück-Benz zur Verfügung gestellt. Dort findet sich auch ein Forum für Fragen sowie Aufzeichnungen aus der Vorlesung.

Bivariate Beschreibung von Daten

Bei der bivariaten Beschreibung werden zwei Variablen gleichzeitig betrachtet. Im Beispieldatensatz könnten Gender und politisches Wissen verglichen werden. Das politische Wissen wurde mit fünf Fragen gemessen, wobei die Werte von 0 (keine Frage richtig) bis 5 (alle Fragen richtig) reichen. Eine mögliche Forschungsfrage wäre, ob sich Männer und Frauen im politischen Wissen unterscheiden.

Solange die Analyse im Bereich der deskriptiven Statistik bleibt, bezieht sich alles auf die Stichprobe. Es werden keine Schlüsse auf die Grundgesamtheit gezogen – dies erfolgt erst im Bereich der Inferenzstatistik.

Bei bivariaten Beschreibungen werden Verteilungen in Abhängigkeit einer anderen Variable beschrieben. Es gibt eine zentrale Unterscheidung: Entweder liegt eine Unterscheidung in abhängige und unabhängige Variablen vor, wobei die abhängige Variable erklärt werden soll und die unabhängige Variable etwas erklärt. Alternativ kann auch die gemeinsame Verteilung zweier Variablen beschrieben werden, wenn nicht klar ist, welche Variable was erklärt.

Kreuztabellen

Kreuztabellen sind ein Verfahren zur bivariaten Beschreibung kategorialer Variablen. Sie zeigen Häufigkeiten in einer Variable, aufgeteilt nach einer anderen Variable. Kreuztabellen eignen sich für zwei kategoriale Variablen mit einer abzählbaren und nicht zu großen Anzahl von Ausprägungen.

Eine wichtige Konvention: Die gruppenbildende Variable wird normalerweise in den Spalten platziert, und es wird in den Spalten prozentuiert. Dies ermöglicht den Vergleich unterschiedlich großer Gruppen anhand von Anteilen statt absoluten Häufigkeiten.

Im Beispiel wurde die traditionelle Mediennutzung untersucht. Van Erkel und Van Aelst bildeten eine Variable für traditionelles Medienrepertoire. Diese umfasst Personen, die Facebook selten nutzen (ein- oder zweimal pro Woche oder seltener), aber traditionelle Medien wie Fernsehen, Radio und Zeitungen stark nutzen. 42% der Stichprobe zeigten ein traditionelles Medienrepertoire.

Die Analyse nach Geschlecht ergab: Von den befragten Männern haben 50% ein traditionelles Medienrepertoire, von den befragten Frauen sind es 34%. Die Häufigkeit traditioneller Mediennutzung ist in der Stichprobe unter Männern höher als unter Frauen. Da unterschiedlich viele Männer und Frauen befragt wurden, ist der Vergleich der Prozentanteile entscheidend, nicht der absoluten Zahlen.

Bei einer Vier-Felder-Tabelle mit zwei binären Variablen sind die Zeilen redundant, da sie sich jeweils zu 100% ergänzen. Es reicht, eine Zeile zu betrachten, um die Unterschiede zwischen den Gruppen zu erfassen.

Kreuztabellen können auch grafisch dargestellt werden. Bei binären Variablen ist es üblich, nur eine Ausprägung darzustellen, um Redundanz zu vermeiden. Balkendiagramme können entweder gestapelt oder gruppiert dargestellt werden, um die Unterschiede zwischen den Gruppen zu verdeutlichen.

Kennwertvergleiche nach Gruppen

Neben Kreuztabellen können auch Kennwerte nach Gruppen verglichen werden. In der vorherigen Sitzung wurden verschiedene Kennwerte wie Mittelwerte und Standardabweichungen besprochen. Diese werden häufig für Gruppenvergleiche verwendet, beispielsweise im t-Test für Mittelwertunterschiede.

Auch hier wird untersucht, wie sich eine Variable in Abhängigkeit einer anderen Variable und der durch sie gebildeten Gruppen verteilt. Die Frage ist, ob Kennwerte in verschiedenen Gruppen unterschiedlich ausfallen.

Im Beispiel wurde das politische Wissen nach Gender verglichen. Die befragten Männer beantworteten im Durchschnitt 3,4 Fragen richtig (Standardabweichung 1,3), die befragten Frauen durchschnittlich 2,6 Fragen (Standardabweichung 1,3). Insgesamt wurden im Durchschnitt 3 Fragen richtig beantwortet (Standardabweichung 1,36).

Die Standardabweichung beschreibt die durchschnittliche Abweichung vom Mittelwert. Sie gibt an, welche Werte um den Mittelwert herum als typisch gelten. Bei einer Standardabweichung von 1,3 bedeutet dies, dass Werte zwischen etwa 1,7 und 4,3 (Mittelwert ±1 Standardabweichung) als typisch angesehen werden können.

Der Mittelwertunterschied zwischen Männern und Frauen beträgt 0,8 Fragen. Im Vergleich zur Standardabweichung entspricht dies etwa 0,6 Standardabweichungen (berechnet als Mittelwertdifferenz geteilt durch Standardabweichung). Dieses Maß, Cohen’s d, hilft bei der Einschätzung, wie groß ein Unterschied im Verhältnis zur Gesamtstreuung ist. Ein Wert von 0,6 Standardabweichungen bedeutet, dass von der gesamten Streuung im politischen Wissen etwa 0,6 auf das Gender zurückgehen.

Die Streuung ist in beiden Gruppen relativ ähnlich, wobei sie bei Männern etwas größer ausfällt.

Weitere Kennwerte können ebenfalls betrachtet werden: Der Median beträgt bei Männern 4 richtig beantwortete Fragen, bei Frauen 3. Die Wölbung (Kurtosis) unterscheidet sich: Bei Männern ist die Verteilung flacher (-0.44), bei Frauen spitzer (-0,02).

Eine detaillierte Kreuztabelle der einzelnen Häufigkeiten zeigt: 0 richtig beantwortete Fragen kommen bei Frauen häufiger vor als bei Männern, ebenso 1 und 2 richtig beantwortete Fragen. Bei 4 und 5 richtig beantworteten Fragen ist das Verhältnis umgekehrt – diese höheren Werte sind unter Männern verbreiteter.

Diese verschiedenen Darstellungsformen zeigen die Spannweite der Möglichkeiten in der deskriptiven Statistik: Von wenigen komprimierten Kennwerten bis zur detaillierten Aufschlüsselung aller Ausprägungen.

Arbeiten mit RStudio: Projekte und Skripte

Bevor mit der Inferenzstatistik begonnen wird, folgt eine praktische Einführung in die Arbeit mit RStudio. Die Empfehlung ist, immer in RStudio-Projekten zu arbeiten. Ein Projekt ist ein Ordner mit einer Projektdatei, die RStudio anzeigt, wo alle benötigten Dateien liegen – Skripte und Datensätze.

Um ein neues Projekt anzulegen, wird in RStudio rechts oben die Option für ein neues Projekt gewählt. Dann wird ein neuer Ordner erstellt und ein Speicherort ausgewählt. Die beiden optionalen Einstellungen (Git-Repository und renv) können für einfache Projekte deaktiviert werden.

Nach Erstellung erscheint der neue Ordner mit einer Datei mit der Endung .Rproj. Ein Doppelklick auf diese Datei öffnet automatisch RStudio im entsprechenden Projekt. Dies ist wichtig: Die Arbeit sollte immer innerhalb eines Projekts erfolgen. Der Projektname wird oben rechts in RStudio angezeigt.

Für dqs Nachvollziehen der Vorlesungsinhalte werden zwei Dateien benötigt: Der Datensatz aus dem Blackboard und das R-Skript von der Kurs-Website. Auf der Website findet sich bei jedem Kapitel der vollständige Code mit Ausgaben.

Alle Materialien sollten in den Projektordner kopiert werden. Im Beispiel wurde ein Übungsordner angelegt. Die Dateien (Datensatz und Skript) werden dort hineinkopiert. Wenn sich alles im Projektordner befindet, können die Dateien direkt in RStudio geöffnet werden.

Im Skript werden zuerst Pakete geladen. Pakete enthalten Funktionen für die Datenanalyse. Code wird ausgeführt, indem entweder der Run-Befehl oben gewählt wird oder mit Strg+Enter (Windows) bzw. Cmd+Enter (Mac) die aktuelle Zeile ausgeführt wird.

Beim Einlesen der Datei muss eine Anpassung vorgenommen werden. Im ursprünglichen Code steht “Data/”, was bedeutet, dass die Datei in einem Unterordner namens “Data” liegt. Wenn die Datei direkt im Projektverzeichnis liegt, muss dieser Teil gelöscht werden. RStudio sucht dann automatisch im Projektverzeichnis nach der angegebenen Datei.

Nach erfolgreicher Ausführung erscheint der Datensatz in der Environment-Übersicht als Objekt “d”. Mit diesem Objekt können dann weitere Analysen durchgeführt werden. Das Skript enthält alle Auswertungen aus der Vorlesung, sodass die Analysen Schritt für Schritt nachvollzogen werden können.

Die Befehle müssen für die Klausur nicht auswendig gelernt werden. Wichtig ist jedoch, Ausgaben lesen und interpretieren zu können. Das Ziel ist, ein mentales Modell zu entwickeln, wie von Datensätzen zu Analysen gelangt wird. Im Verlauf der Vorlesung wird gezeigt, wie Code verändert werden kann, beispielsweise um andere Variablen zu analysieren.

Das Ziel der Vorlesung ist nicht, dass alle fließend in R programmieren können. Wichtig ist das Verständnis der Outputs und Analysen. Es geht darum, einen ersten Überblick zu erhalten und die Grundlagen zu verstehen.