Kurs
Das Subsetting in R ist eine nützliche Indizierungsfunktion für den Zugriff auf Objektelemente. Sie kann verwendet werden, um Variablen und Beobachtungen auszuwählen und zu filtern. Die beiden wichtigsten Methoden zur Unterteilung von Daten in R sind die Klammern []
, die eine allgemeine Indizierungsmethode darstellen, und die Funktion subset()
, die eine übergeordnete und benutzerfreundlichere Methode ist.
Wenn du mehr über das Subsetting von Daten und andere R-Programmiertechniken erfahren möchtest, beginne noch heute mit unserem Kurs Einführung in R. Du wirst überrascht sein, wie schnell du es lernst. Wenn du mehr Erfahrung hast, ist unser Intermediate R eine weitere gute Option.
Zeilen auswählen
Hier ist ein Beispiel für die Unterteilung eines DataFrames namens debt
.
debt[3:6, ]
name payment
3 Dan 150
4 Rob 50
5 Rob 75
6 Rob 100
Hier haben wir die Zeilen 3 bis 6 von debt
ausgewählt.
Dein Weg zur Beherrschung von R
Auswählen von Zeilen aus einer bestimmten Spalte
Eine weitere Sache, die du beachten solltest, ist die Vereinfachung, die passiert, wenn du eine einzelne Spalte auswählst. Wenn du nur die ersten drei Zeilen der Spalte payment
auswählst, wird das Ergebnis zu einem Vektor vereinfacht.
debt[1:3, 2]
100 200 150
DataFrame Formatierung
Um sie als DataFrame zu behalten, füge einfach drop=False
wie unten gezeigt hinzu:
debt[1:3, 2, drop = FALSE]
payment
1 100
2 200
3 150
Auswählen einer bestimmten Spalte
Um eine bestimmte Spalte auszuwählen, kannst du auch den Namen des DataFrames eintippen, gefolgt von einem $
, und dann den Namen der gewünschten Spalte. In diesem Beispiel wählen wir die Spalte payment
des DataFrames aus. Wenn du dieses Skript ausführst, vereinfacht R das Ergebnis als Vektor.
debt$payment
100 200 150 50 75 100
Verwendung der Funktion subset()
Wenn du komplexere Teilmengen oder eine Teilmenge auf der Grundlage einer Bedingung erstellen willst, ist der nächste Schritt die Verwendung der Funktion subset(). Was wäre zum Beispiel, wenn du dir die Schulden von jemandem namens Dan ansehen möchtest? Du könntest einfach die Klammern verwenden, um die Schulden auszuwählen und zusammenzurechnen, aber das ist keine sehr robuste Methode, vor allem, wenn sich der Datensatz ändern könnte.
# This works, but is not informative
debt[1:3, ]
subset() auf eine kategoriale Variable
Ein besserer Weg ist es, die Funktion subset()
zu verwenden, um die Zeilen auszuwählen, in denen die Spalte Name gleich Dan ist. Beachte, dass es sich um ein doppeltes Gleichheitszeichen handeln muss, einen so genannten Vergleichsoperator.
# This works, but is not informative nor robust
debt[1:3, ]
# Much more informative!
subset(debt, name == "Dan")
name payment
1 Dan 100
2 Dan 200
3 Dan 150
subset() auf eine numerische Variable
Wir können auch auf numerische Spalten unterteilen. Wenn wir Zeilen sehen wollen, in denen Zahlungen in Höhe von $100 erfolgen, musst du Folgendes tun:
subset(debt, payment == 100)
name payment
1 Dan 100
6 Rob 100
Auf DataFrames zugreifen und sie unterteilen
Was ist, wenn du dich nur für die Cashflows von Unternehmen A interessierst?
subset(cash, company == "A")
company cash_flow year
1 A 1000 1
2 A 4000 3
3 A 550 4
Erinnere dich:
-
Das erste Argument, das du an
subset()
übergibst, ist der Name deines DataFrames,cash
. -
Beachte, dass du
company
nicht in Anführungszeichen setzen solltest! -
Die
==
ist der Gleichheitsoperator. Sie prüft, wo zwei Dinge gleich sind und gibt einen logischen Vektor zurück.
Interaktives Beispiel für die subset()-Methode
Im folgenden Beispiel wählst du mit der Methode subset()
nur die Zeilen von cash
aus, die dem Unternehmen B entsprechen. Dann wählst du subset()
Zeilen aus, deren Zahlungsströme in einem Jahr fällig werden.
# Rows about company B
subset(cash, company == "B")
# Rows with cash flows due in 1 year
subset(cash, year == 1)
Wenn du den obigen Code ausführst, erhältst du das folgende Ergebnis:
company cash_flow year
4 B 1500 1
5 B 1100 2
6 B 750 4
7 B 6000 5
company cash_flow year
1 A 1000 1
4 B 1500 1
Um mehr über den Zugriff auf DataFrames in R und deren Unterteilung zu erfahren, schau dir dieses Video aus unserem Kurs Einführung in R für Finanzen an.
Dieser Inhalt stammt aus dem DataCamp-Kurs Introduction to R for Finance von Lore Dirick.
Abschließende Überlegungen zum Subsetting
Ein Teil des Spaßes an R ist, dass es verschiedene Methoden für ähnliche Aufgaben bietet. Das Subsetting ist keine Ausnahme, denn sowohl die Klammer []
als auch die Funktion subset()
erfüllen dieselbe Aufgabe. Du kannst zwischen den beiden Varianten wählen, je nachdem, ob du eine niedrige Kontrolle oder eine hohe Einfachheit bevorzugst.
Erwäge, deine Fähigkeiten mit unserem Lernpfad "Machine Learning Scientist in R " zu erweitern. Du wirst dein Verständnis für die Kernfunktionen von R vertiefen, aber auch mit fortgeschrittenen Techniken ausgestattet, um Probleme des maschinellen Lernens anzugehen.