[1] 4
[1] 1
[1] 12
[1] 5
[1] 8
Seminarsitzung 4
21. Mai 2026
In den ersten drei Seminarsitzungen haben wir uns mit folgenden Fragen beschäftigt:
Was sind Social-Media-Daten? Wie kann man diese sammeln?
Wie sehen aktuelle Beispiele für die Sammlung und Analyse von Social-Media-Daten aus der Literatur aus? Was können wir für unsere Arbeit daraus lernen?
In der heutigen Sitzungen sowie den beiden folgenden wollen wir uns damit befassen, wie wir R (und RStudio) nutzen können, um Social-Media-Daten zu sammeln und zu analysieren.
In der ersten Sitzung schauen wir uns als Refresher zunächst einige Grundlagen in der Nutzung von R an.
Exklusiv für Sie! Veröffentlichung von Sammlung und Analyse von Social-Media-Daten mit R - Das Buch zum Kurs
“Further content is needed!”…
… und wird in den nächsten Wochen nach und nach geliefert.
Das Online-Buch zum Kurs ist so aufgebaut, dass Sie die Inhalte in Ihrem eigenen Tempo durcharbeiten können. Es dient als begleitendes Kompendium und Ergänzung und Vertiefung zu den Inhalten aus den Seminarsitzungen. Sie können das Buch v.a. auch als “Nachschlagewerk” für die Gruppenarbeitsphase nutzen.
Die Slides zu den Seminarsitzungen enthalten nur die wichtigsten Punkte und sollen vor allem als Leitfaden für die Sitzungen dienen. Der Schwerpunkt in den Sitzungen liegt auf “Live Coding” durch mich und “Coding Along” durch Sie.
Um im Kurs mitarbeiten zu können, sollten Sie R und RStudio auf Ihrem Computer installiert haben.
Wenn Sie Windows nutzen, sollten Sie zusätzlich die RTools installieren.
Hat das für alle funktioniert?
Das Interface von RStudio besteht aus drei bzw. vier Bereichen.
Source: Hier können Sie R-Skripte erstellen und bearbeiten. In diesen Skripten können Sie Ihren Code schreiben, speichern und später wiederverwenden.
Console: Hier können Sie R-Code direkt eingeben und ausführen. Die Ergebnisse werden ebenfalls in der Konsole angezeigt.
Ein Fenster mit der sog. Environment und der History: Hier werden alle Objekte angezeigt, die Sie in Ihrer aktuellen R-Sitzung erstellt haben, sowie alle Befehle, die Sie genutzt haben.
Ein Fenster, in dem u.a. installierte und geladene Pakete (Packages ) und Hilfe zu Funktionen und Paketen (Help) angezeigt werden
R-KonsoleDas Einfachste, was Sie mit der R-Konsole tun können, ist, sie als Taschenrechner zu verwenden.
Sie sollten:
Ihren Code in R-Skripten schreiben und speichern, damit Sie diesen später wiederverwenden können
Code in R-Skripten kommentieren
Objekte, die Sie behalten möchten, exportieren, damit sie auch nach einem Neustart der R-Sitzung verfügbar sind
ein paar Einstellungen in RStudio anpassen, um sich einen guten Workflow anzugewöhnen
Genauere Infsos hierzu finden Sie im Online-Buch im Abschnitt zum Arbeiten mit RStudio.
Das Arbeitsverzeichnis (Working Directory) ist der Ordner auf Ihrem Computer, in dem R nach Dateien sucht, die Sie laden möchten, und in dem es Dateien speichert, die Sie erstellen.
Das aktuelle Arbeitsverzeichnis wird in der Zeile über der Konsole in RStudio angezeigt, wo auch die aktuell genutzte Version von R zu sehen ist. Sie können es sich auch über den Befehl getwd() anzeigen lassen.
[1] "C:/Users/johannes.breuer/OneDrive - Center for Advanced Internet Studies (CAIS) gGmbH/Dokumente/teaching/ude/SoSe26/seminar_social-media-data-r/social-media-data-r/slides"
Verändern können Sie das Arbeitsverzeichnis über das RStudio-Menü unter Session -> Set Working Directory oder mit dem Befehl setwd().
Tastaturkürzel: RStudio bietet eine Vielzahl von Tastenkombinationen, mit denen Sie schneller und effizienter arbeiten können. Eine Übersicht über die verfügbaren Tastenkombinationen finden Sie unter “Help” -> “Keyboard Shortcuts Help” in RStudio.
Tab Completion: In RStudio können Sie die Tab-Taste verwenden, um Code zu vervollständigen. Wenn Sie z.B. beginnen, den Namen einer Funktion oder eines Objekts einzugeben, zeigt RStudio eine Liste der möglichen Vervollständigungen an. Diese können Sie dann auswählen und mit der Tab-Taste einfügen.
R ist eine sogenannte objektorientierte Programmiersprache. Das bedeutet, dass alles in R als Objekt betrachtet wird. Allgemein formuliert ist ein Objekt eine spezifische Datenstruktur, die Informationen enthält und bestimmte Eigenschaften und Verhaltensweisen aufweist.
Die wichtigsten Arten von Objekten für uns sind Vektoren und Dataframes.
R kann mit vielen verschiedenen Arten von Daten und Variablen umgehen.
Die wichtigsten für uns im Seminar sind numerische Variablen (numeric) und Zeichenketten (character).
In R können Sie Objekte erstellen und ihnen Werte zuweisen. Dies geschieht durch den sogenannten “Assignment Operator” <-.
Das einfachste Beispiel für eine Zuweisung in R ist die Zuweisung eines einzelnen Werts an ein Objekt. Dieser Wert kann beispielsweise eine einzelne Zahl oder eine Zeichenkette sein.
Den Datentyp eines Objekts kann man in R mit der Funktion class() überprüfen.
Ein Vektor ist eine eindimensionale Datenstruktur, die Elemente desselben Typs enthält. Vektoren können z.B. numerisch (numeric), oder Zeichenketten (character) sein.
Ein Dataframe ist eine zweidimensionale Datenstruktur, die Spalten mit unterschiedlichen Datentypen enthalten kann. Man kann sich einen Dataframe als eine Sammlung von Vektoren vorstellen, wobei jeder Vektor eine Spalte darstellt.
Für das allermeiste, was wir in R machen, verwenden wir Funktionen. Eine Funktion in R ist wie eine Art Mini-Programm, mit dem wir bestimmte Aufgaben ausführen können.
Die meisten Funktionen in R haben Argumente, die es uns ermöglichen, die Funktion an unsere Bedürfnisse anzupassen. Argumente sind wie “Einstellungen” oder “Parameter”, die wir der Funktion übergeben können, um ihr Verhalten zu steuern.
Die Hilfe zu Funktionen kann man in RStudio aufrufen, indem man ein ? vor den Namen der Funktion schreibt und die () dahinter weglässt.
Pakete in R sind Sammlungen von Funktionen und teilweise auch Daten sowie Dokumentation dazu, die die Nutzungsmöglichkeiten von R umfassend erweitern.
Die zentrale Quelle für R-Pakete ist das Comprehensive R Archive Network (CRAN).
Bevor Sie ein Paket in R nutzen können, müssen Sie es installieren. Dies geschieht mit der Funktion install.packages(), der Sie den Namen des Pakets als Argument übergeben.
Eine Sammlung von Paketen, mit der wir im Kurs arbeiten werden, ist das tidyverse.
Während man Pakete nur einmal installieren muss, muss man sie in jeder Sitzung neu laden. Dies geht mit dem Befehl library().
R kann Daten in vielen unterschiedlichen Formaten einlesen (importieren) und speichern (exportieren). Hierfür gibt es zahlreiche Funktionen und Pakete.
Für die Arbeit mit Social-Media-Daten sind insbesondere zwei Formate relevant:
CSV (Comma-Separated Values)
JSON (JavaScript Object Notation)
Wir fokussieren uns hier auf CSV-Dateien.
Für den Import von CSV-Dateien bietet das Paket readr aus dem tidyverse die beiden Funktionen read_csv() und read_csv2().
Der Grund dafür, dass es zwei Funktionen gibt, ist, dass es verschiedene Varianten von CSV-Dateien gibt. Auch wenn wir sie als CSV für (Comma-Separated Values) heißen, sind Werte in den Dateien manchmal durch ein Semikolon oder ein Tabulator getrennt.
readrFür die weiteren Beispiele nutzen wir simulierte YouTube-Daten aus dem KODAQS Toolbox Tutorial zum R-Paket tubecleanr. Wir können die CSV-Datei, die diese Daten enthält, direkt aus dem GitHub-Repository zu dem Tutorial herunterladen.
Für den Export von CSV-Dateien können wir die Funktion write_csv() aus dem Paket readr nutzen.
tidyverseDas tidyverse ist eine Sammlung von R-Paketen, die das Importieren und Exportieren, die Aufbereitung und Visualisieren von Daten in R vereinfachen.
The tidyverse is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures.
Alle Pakete aus dem tidyverse können über das gleichnamige (Meta-)Paket installiert werden.
Tidy Data ist ein Kernprinzip des tidyverse.
Die wichtigsten Grundsätze für Tidy Data data lauten:
Jede Variable ist in einer eigenen Spalte.
Jede Beobachtung ist in einer eigenen Zeile.
Jeder Wert ist in einer eigenen Zelle.
%>%Der Pipe Operator (%>%) ist ein zentrales Element des tidyverse und ermöglicht es, mehrere Funktionen miteinander zu verketten, ohne dass man Zwischenergebnisse speichern muss.
Kurz gesagt übergibt der Pipe-Operator das Ergebnis einer Funktion als erstes Argument an die nächste Funktion.
Für einen ersten Eindruck bietet das Paket dplyr die Funktion glimpse().
Rows: 245
Columns: 8
$ VideoID <chr> "dQw4w9WgXcQ", "xyz789AbCde", "fGHjKlMnOpq", "PqRsTu…
$ AuthorDisplayName <chr> "TechGuru88", "ArtLover22", "GamerProX", "MusicFanat…
$ Comment <chr> "This video changed my perspective! Highly recommend…
$ LikeCount <dbl> 154, 87, 301, 210, 95, 180, 120, 65, 250, 110, 190, …
$ PublishedAt <dttm> 2024-06-20 14:35:01, 2024-06-19 18:02:10, 2024-06-1…
$ UpdatedAt <dttm> 2024-06-20 14:35:01, 2024-06-19 18:02:10, 2024-06-1…
$ ParentID <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ CommentID <chr> "Ugw3KPnh-5QJnBpeymd4AaABAg", "Ugy9J-5h-1RKnBpeymd4A…
Wenn wir uns den gesamten Datenstz in RStudio anschauen wollen, können wir die Funktion View() verwenden. Diese öffnet die Daten in einem neuen Tab und zeigt sie in einer tabellarischen Ansicht an.
Um bestimmte Variablen aus einem Datensatz auszuwählen, können wir die Funktion select() aus dem Paket dplyr verwenden.
select()rename()Um bestimmte Zeilen aus einem Datensatz auszuwählen, können Sie die Funktion filter() aus dem Paket dplyr verwenden. Diese Funktion ermöglicht es, Zeilen basierend auf bestimmten Bedingungen auszuwählen und einen neuen Datensatz zu erstellen, der nur diese Zeilen enthält.
filter()Um die Funktion filter() sinnvoll einsetzen zu können, ist es wichtig, die wichtigsten logischen Operatoren zu kennen, die in den Bedingungen verwendet werden können. Dazu gehören:
== (gleich)
!= (ungleich)
< (kleiner als)
> (größer als)
<= (kleiner oder gleich)
>= (größer oder gleich)
Eine besondere zusätzliche Option bietet die Funktion between(), mit der Sie Zeilen auswählen können, deren Werte in einem bestimmten Bereich liegen.
Wie bereits erwähnt, können wir mit dem “Pipe”-Operator %>%mehrere Befehle miteinander verketten.
Mit der Funktion mutate aus dem dplyr-Paket können Sie Variablen in einem Dataframe erstellen oder verändern. Das grundlegende Vorgehen dafür ist wie folgt: Sie geben an, a) welche Variable(n) Sie erstellen oder verändern möchten und b) wie bzw. mit welchen Funktionen die Variable(n) erstellt oder verändert werden soll.
Eine weitere häufige Art der Veränderung von Variablen ist die Veränderung ihres Typse. Hierfür gibt es Funktionen wie as.numeric() oder as.character().
Das Symbol für fehlende Werte in R ist NA.
Wenn es um fehlende Werte und die Veränderung von Variablen geht, gibt es zwei Optionen:
Sie können fehlende Werte in einer Variable durch einen bestimmten Wert ersetzen, z.B. “unknown” oder “other”. Dies kann z.B. sinnvoll sein, wenn Sie diese Fälle in Analysen berücksichtigen möchten.
Sie können fbestimmte Werte in fehlende Werte umkodieren. Dies kann z.B. sinnvoll sein, wenn Sie bestimmte Werte in der Variable haben, die eigentlich fehlende Werte darstellen (z.B. “unknown” oder leere Textstrings ““).
Um fehlende Werte in andere Werte umzuwandeln, können Sie die Funktion replace_na() aus dem Paket tidyr verwenden.
Um bestimmte Werte in fehlende Werte NA umzuwandeln, können Sie die Funktion na_if() aus dplyr verwenden.
Das Paket stringr aus dem tidyverse bietet eine Vielzahl von Funktionen, mit denen Sie Textdaten in R bearbeiten und analysieren können.
In den nächsten beiden Sitzungen (am 28.05. sowie am 11.06.) beschäftigen wir uns mit der Sammlung und Analyse von Social-Media-Daten. Dabei konzentrieren wir uns auf drei Plattformen: TikTok, Bluesky und YouTube.
Danach setzen Sie das erworbene Wissen und Ihre eigenen Ideen in kleinen empirischen Forschungsprojekten in Form von Gruppenarbeit um.
Schauen Sie sich Kapitel 1 bis 9 im Online-Buch zum Kurs an.
Überlegen Sie dabei:
Was weiß/kann ich bereits?
Was weiß/kann ich noch nicht bzw. nicht mehr?
Schauen Sie gerne auch in die Kapitel unter “Tipps & Tricks”; insbesondere dann, wenn Sie mit den Inhalten aus den Kapiteln 1 bis 9 schon vertraut sind.
Für die Sammlung von Social-Media-Daten benötigen Sie mindestens eins der folgenden Dinge (am besten aber alle):
Einen TikTok-Account
Einen Bluesky-Account
Einen Google-Account und einen YouTube API Key. Wie Sie einen YouTube API Key erhalten, wird ausführlich in einem Tutorial von Communalytic sowie im GESIS Guide How to Collect Data with the YouTube Data API (Kohne et al., 2024) beschrieben.
