2 Soziometrie und soziale Netzwerke mit R
In diesem Buch erlernen wir die Analyse sozialer Netzwerkdaten mit dem Statistikprogramm R (R Core Team 2021). Ich möchte daher zu Beginn (ohne weitere Erläuterungen zu R) die Vorzüge der Programmiersprache R bei der Analyse sozialer Netzwerkdaten demonstrieren.
Fallbeispiel
Eine Grundschullehrkraft hat eine kleine Klasse der Jahrgangsstufe 1 übernommen (7 Kinder). Wenn die Schüler*innen der gesamten Schule in der großen Pause auf dem Schulhof zusammen spielen, dann ist es allerdings sehr unübersichtlich und die Lehrkraft kann nicht alle Aktivitäten der Kinder gleichermaßen im Auge behalten. Die Lehrkraft möchte daher einen genaueren Einblick in das “soziale Miteinander” ihrer neuen Klasse erhalten und startet deshalb eine soziometrische Befragung der einzelnen Schüler*innen: Mit wem aus deiner Klasse hast du in der letzten großen Pause gespielt? Die Lehrkraft notiert die Antworten der Kinder in einer Tabelle.
Befragtes Kind |
| Antworten |
Susi | ...hat gespielt mit... | Max, Ali, Til |
Eda | ...hat gespielt mit... | Lena |
Ella | ...hat gespielt mit... | - |
Lena | ...hat gespielt mit... | Eda |
Max | ...hat gespielt mit... | Ali, Susi |
Ali | ...hat gespielt mit... | Max, Susi |
Til | ...hat gespielt mit... | Susi |
Die Tabelle mit den Antworten bietet schon eine gewisse Übersichtlichkeit, da zum Beispiel ersichtlich wird, dass Ella bei der Befragung keine Mitschüler*innen benannt hat und auch von keinen Mitschüler*innen benannt wurde (Ella hat mit niemandem gespielt und niemand hat mit Ella gespielt). Die Lehrkraft möchte die soziometrischen Daten weiter verarbeiten und überträgt die Antworten der Kinder deshalb in das Statistikprogramm R. Zuvor wird mit den ersten beiden R-Befehlen (bzw. R-Funktionen) das R-Zusatzpaket igraph installiert und anschließend geladen. igraph (Csardi und Nepusz 2006) ist ein spezifisches R-Zusatzpaket zur Verarbeitung und Analyse von Netzwerkdaten.
install.packages("igraph") # R-Zusatzpaket igraph installieren
library(igraph) # R-Zusatzpaket igraph laden
Anschließend werden alle Antworten der Kinder in der Form Susi -+ Max
(Susi …hat gespielt mit… Max) an die Funktion graph_from_literal()
übergeben (eine Funktion des Zusatzpaketes igraph). Da Ella mit niemandem gespielt hat, erfolgt für Ella ausschließlich die Übergabe des Namen Ella
. Alle Antworten der Kinder werden dann mit dem Zuweisungspfeil <-
als Objekt netzwerk
gespeichert.
<- graph_from_literal(Susi -+ Max, Susi -+ Ali, Susi -+ Til, Eda -+ Lena,
netzwerk -+ Eda, Max -+ Ali, Max -+ Susi,
Ella, Lena -+ Max, Ali -+ Susi, Til -+ Susi) Ali
Mit der Funktion print_all()
können wir jederzeit die Informationen aus dem Objekt netzwerk
abrufen (also die Antworten der Kinder). Hierfür übergeben wir das Objekt netzwerk
an die entsprechende Funktion. Die Antworten der Kinder erscheinen in der Form Susi->Max
(Susi …hat gespielt mit… Max).
print_all(netzwerk)
## IGRAPH b16bc23 DN-- 7 10 --
## + attr: name (v/c)
## + edges from b16bc23 (vertex names):
## [1] Susi->Max Susi->Ali Susi->Til Max ->Susi Max ->Ali Ali ->Susi
## [7] Ali ->Max Til ->Susi Eda ->Lena Lena->Eda
Ein Bild sagt mehr als tausend Worte. Abschließend möchten wir daher die Antworten der Kinder visualisieren (Netzwerkvisualisierung). Wir übergeben daher das Objekt netzwerk
an die Funktion plot()
(plotten) und definieren noch ein paar Eigenschaften der Abbildung, z.B. die Größe der Kreissymbole mit dem Argument vertex.size = 30
.
par(mar = c(0, 0, 0, 0)) # Ränder (margins) der Grafik auf null setzten
plot(netzwerk, vertex.size = 30)

Figure 2.1: Soziales Netzwerk: Mit wem aus deiner Klasse hast du in der letzten großen Pause gespielt?
Die Grafik ist eine Repräsentation der Antworten der Kinder (mit Pfeilen und Kreissymbolen). In der Grafik sehen wir auf den ersten Blick spannende soziale Netzwerkstrukturen: Eine Triade (Max, Ali, Susi), zwei Dyaden (Eda und Lena sowie Susi und Til) und das isolierte Kind ohne Spielpartner*innen (Ella).