R - JSON-Dateien: Ein Anfängerleitfaden

Hallo da draußen, zukünftige R-Zauberer! Heute begeben wir uns auf eine aufregende Reise in die Welt der JSON-Dateien und wie man mit ihnen in R arbeitet. Keine Sorge, wenn du noch nie programmiert hast – ich werde dein freundlicher Führer durch dieses Abenteuer sein, genau wie ich es für unzählige Schüler in meinen Jahren des Unterrichtens getan habe. Also, tauchen wir ein!

R - JSON Files

Was ist JSON?

Bevor wir beginnen, lassen Sie uns schnell verstehen, was JSON ist. JSON steht für JavaScript Object Notation. Es ist ein leichtgewichtiges Datenformat, das leicht für Menschen lesbar und schreibbar ist und leicht für Maschinen zu analysieren und zu generieren. Denke daran als eine Möglichkeit, Informationen auf eine strukturierte und organisierte Weise zu speichern – wie ein sehr aufgeräumtes digitales Aktenregal!

Installation des rjson-Pakets

Um mit JSON-Dateien in R zu arbeiten, benötigen wir ein spezielles Werkzeug. In der R-Welt nennen wir diese Werkzeuge "Pakete". Das Paket, das wir verwenden werden, heißt "rjson". Lassen Sie es installieren!

install.packages("rjson")
library(rjson)

Wenn du diese Zeilen ausführst, wird R ins Internet gehen, das rjson-Paket herunterladen und es für uns bereitstellen. Es ist, als ob man zu einer digitalen Werkzeugkiste geht und das perfekte Werkzeug für unsere Aufgabe herauspicken würde!

Eingangsdaten

Nun, da wir unser Werkzeug haben, werfen wir einen Blick auf einige Daten. Stellen wir uns vor, wir haben eine JSON-Datei namens "students.json" mit Informationen über einige Schüler. Sie könnte大概 so aussehen:

{
"students": [
{
"name": "Alice",
"age": 20,
"major": "Informatik"
},
{
"name": "Bob",
"age": 22,
"major": "Mathematik"
},
{
"name": "Charlie",
"age": 21,
"major": "Physik"
}
]
}

Diese JSON-Datei enthält ein Array von Schülern, wobei jeder Schüler einen Namen, ein Alter und einen Fachbereich hat. Es ist wie eine Mini-Datenbank unserer Klasse!

JSON-Datei lesen

Nun lesen wir diese JSON-Datei in R ein. Wir verwenden die Funktion fromJSON() aus dem rjson-Paket:

json_data <- fromJSON(file = "students.json")

Diese Zeile weist R an, die "students.json"-Datei zu lesen und deren Inhalte in einer Variable namens json_data zu speichern. Es ist, als ob wir den Inhalt unserer JSON-Datei in einen Behälter in R gießen.

Schauen wir uns an, was wir haben:

print(json_data)

Du solltest etwas wie folgendes sehen:

$students
$students[[1]]
$students[[1]]$name
[1] "Alice"

$students[[1]]$age
[1] 20

$students[[1]]$major
[1] "Informatik"

$students[[2]]
$students[[2]]$name
[1] "Bob"

$students[[2]]$age
[1] 22

$students[[2]]$major
[1] "Mathematik"

$students[[3]]
$students[[3]]$name
[1] "Charlie"

$students[[3]]$age
[1] 21

$students[[3]]$major
[1] "Physik"

Glückwunsch! Du hast deine erste JSON-Datei in R eingelesen!

JSON in einen Data Frame konvertieren

Während die JSON-Daten jetzt in R sind, ist es nicht der praktischste Format für die Analyse. In R bevorzugen wir oft etwas, das man einen "data frame" nennt. Es ist wie eine Tabelle oder eine Arbeitsmappe. Lassen Sie uns unsere JSON-Daten in einen data frame konvertieren:

students_df <- do.call(rbind, lapply(json_data$students, as.data.frame))

Whoa! Das ist ein bisschen viel auf einmal, oder? Lassen Sie uns das aufschlüsseln:

  1. json_data$students greift auf den "students"-Teil unserer JSON-Daten zu.
  2. lapply() wendet die Funktion as.data.frame() auf jeden Schüler in der Liste an.
  3. do.call(rbind, ...) nimmt alle diese einzelnen Data Frames und bindet sie zu einem großen Data Frame zusammen.

Nun schauen wir uns unseren neuen Data Frame an:

print(students_df)

Du solltest etwas wie folgendes sehen:

name age           major
1   Alice  20 Informatik
2     Bob  22     Mathematik
3 Charlie  21         Physik

Vollkommen! Jetzt haben wir eine schöne, aufgeräumte Tabelle unserer Schülerdaten.

Mit dem Data Frame arbeiten

Nun, da wir unsere Daten in einem Data Frame haben, können wir leicht verschiedene Operationen darauf ausführen. Hier sind einige Beispiele:

  1. Den Durchschnittsalter der Schüler berechnen:
mean_age <- mean(students_df$age)
print(paste("Das Durchschnittsalter der Schüler beträgt:", mean_age))
  1. Alle Schüler finden, die einen bestimmten Fachbereich studieren:
cs_students <- students_df[students_df$major == "Informatik", ]
print("Schüler, die Informatik studieren:")
print(cs_students)
  1. Eine neue Spalte hinzufügen:
students_df$graduation_year <- 2023 + (22 - students_df$age)
print(students_df)

Fazit

Und da haben Sie es! Wir sind von der Installation eines Pakets über das Lesen einer JSON-Datei bis hin zur Konvertierung in einen Data Frame und der Durchführung einiger grundlegender Operationen gereist. Sie haben Ihre ersten Schritte in der Welt der Datenmanipulation in R unternommen!

Denken Sie daran, dass jede Fähigkeit mit der Praxis einfacher wird. Haben Sie keine Angst, zu experimentieren und neue Dinge auszuprobieren. Wer weiß? Die nächste große Datenentdeckung könnte bei Ihren Fingerspitzen beginnen!

Hier ist eine Tabelle, die die Hauptfunktionen zusammenfasst, die wir verwendet haben:

Funktion Paket Beschreibung
install.packages() base R Installiert ein Paket
library() base R Lädt ein Paket
fromJSON() rjson Liest eine JSON-Datei
do.call() base R Konstruiert und führt eine Funktionsanfrage aus
rbind() base R Kombiniert R-Objektezeilenweise
lapply() base R Wendet eine Funktion über eine Liste oder einen Vektor an
as.data.frame() base R Zwingt in einen Data Frame
mean() base R Berechnet den arithmetischen Mittelwert

Frohes Coden und möge deine Daten immer sauber sein!

Credits: Image by storyset