So unterteilen sie einen datenrahmen anhand einer werteliste in r


Sie können eine der folgenden Methoden verwenden, um einen Datenrahmen durch eine Werteliste in R zu unterdefinieren:

Methode 1: Verwenden Sie Base R

 df_new <- df[df$my_column %in% vals,]

Methode 2: dplyr verwenden

 library (dplyr)

df_new <- filter(df, my_column %in% vals)

Methode 3: Verwenden Sie data.table

 library (data.table)

df_new <- setDT(df, key=' my_column ')[J(vals)]

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:

 #create data frame
df <- data. frame (team=c('A', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 22, 35, 34, 20, 28, 30, 18),
                 assists=c(4, 10, 11, 12, 12, 8, 6, 10))

#view data frame
df

  team points assists
1 to 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10

Methode 1: Teilmenge des Datenrahmens anhand der Werteliste in R-Basis

Der folgende Code zeigt, wie Sie den Datenrahmen unterteilen, sodass er nur Zeilen mit einem „A“- oder „C“-Wert in der Teamspalte enthält:

 #define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- df[df$team %in% vals,]

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Der resultierende Datenrahmen enthält nur Zeilen, die in der Spalte „ Team “ einen Wert „A“ oder „C“ haben.

Beachten Sie, dass wir in diesem Beispiel grundlegende R-Funktionen verwendet haben, sodass wir keine zusätzlichen Pakete laden mussten.

Methode 2: Datenrahmen-Teilmenge anhand der Werteliste in dplyr

Der folgende Code zeigt, wie der Datenrahmen mithilfe der Funktion filter() aus dem dplyr- Paket so unterteilt wird, dass er nur Zeilen mit dem Wert „A“ oder „C“ in der Teamspalte enthält:

 library (dplyr)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- filter(df, team %in% vals)

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Der resultierende Datenrahmen enthält nur Zeilen, die in der Spalte „ Team “ einen Wert „A“ oder „C“ haben.

Methode 3: Teilmenge des Datenrahmens anhand der Werteliste in data.table

Der folgende Code zeigt, wie der Datenrahmen mithilfe von Funktionen im data.table- Paket so unterteilt wird, dass er nur Zeilen mit einem „A“- oder „C“-Wert in der Teamspalte enthält:

 library (data.table)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- setDT(df, key=' team ')[J(vals)]

#view results
df_new

   team points assists
1: A 12 4
2: C 20 12
3: C 28 8
4: C 30 6

Der resultierende Datenrahmen enthält nur Zeilen, die in der Spalte „ Team “ einen Wert „A“ oder „C“ haben.

Verwandte Themen: So verwenden Sie den %in%-Operator in R (mit Beispielen)

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:

So unterteilen Sie einen Datenrahmen nach Faktorstufen in R
So definieren Sie einen Datumsbereich in R
So zeichnen Sie eine Teilmenge eines Datenrahmens in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert