Direkt zum Inhalt

Subsetting in R Tutorial

Finde heraus, wie du mit Subsetting auf die Daten deines DataFrames zugreifen kannst. Lerne, wie du mit Hilfe von Klammern oder der Funktion subset() von R eine Untermenge bilden kannst.
Aktualisierte 2. Dez. 2024  · 4 Min. Lesezeit

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

Beginne bei Null und baue dir grundlegende R-Kenntnisse für Data Science auf.
Kostenloses Lernen Beginnen

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

Probiere es selbst aus.

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.

Themen

R Kurse

Kurs

Introduction to R

4 hr
2.8M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
Siehe DetailsRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

See MoreSee More