So unterteilen sie einen datenrahmen in r basierend auf mehreren bedingungen
Sie können die folgenden Methoden verwenden, um einen Datenrahmen basierend auf mehreren Bedingungen in R zu unterdefinieren:
Methode 1: Teilmenge des Datenrahmens mit „OR“-Logik
df_sub <- subset(df, team == ' A ' | points < 20 )
In diesem speziellen Beispiel wird der Datenrahmen für Zeilen untergeordnet, in denen die Teamspalte „A“ entspricht oder die Punktespalte weniger als 20 beträgt.
Methode 2: Teilmenge des Datenrahmens mithilfe der „AND“-Logik
df_sub <- subset(df, team == ' A ' & points < 20 )
In diesem speziellen Beispiel wird der Datenrahmen für Zeilen untergeordnet, in denen die Teamspalte „A“ entspricht und die Punktespalte weniger als 20 beträgt.
In diesem Tutorial wird erläutert, wie Sie die einzelnen Methoden in der Praxis mit dem folgenden Datenrahmen verwenden:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
position=c('Guard', 'Guard', 'Forward',
'Guard', 'Forward', 'Forward'),
dots=c(22, 25, 19, 22, 12, 35))
#view data frame
df
team position points
1 A Guard 22
2 A Guard 25
3 A Forward 19
4 B Guard 22
5 B Forward 12
6 B Forward 35
Beispiel 1: Teilmengendatenrahmen mit „OR“-Logik
Der folgende Code zeigt, wie Sie den Datenrahmen für Zeilen unterteilen, in denen die Teamspalte „A“ entspricht oder die Punktespalte kleiner als 20 ist:
#subset data frame where team is 'A' or points is less than 20 df_sub <- subset(df, team == ' A ' | points < 20 ) #view subset df_sub team position points 1 A Guard 22 2 A Guard 25 3 A Forward 19 5 B Forward 12
Jede der Zeilen in der Teilmenge hat entweder den Wert „A“ in der Teamspalte oder einen Wert in der Punktespalte von weniger als 20.
Hinweis : Die | Das Symbol steht für „ODER“ in R.
In diesem Beispiel haben wir nur ein einziges „ODER“-Symbol in die Funktion subset() eingefügt, aber wir könnten so viele einschließen, wie wir möchten, basierend auf noch mehr Bedingungen.
Beispiel 2: Teildatenrahmen mit „AND“-Logik
Der folgende Code zeigt, wie Sie den Datenrahmen für Zeilen unterteilen, in denen die Teamspalte „A“ entspricht und die Punktespalte weniger als 20 beträgt:
#subset data frame where team is 'A' and points is less than 20 df_sub <- subset(df, team == ' A ' & points < 20 ) #view subset df_sub team position points 3 A Forward 19
Beachten Sie, dass die resultierende Teilmenge nur eine Zeile enthält.
Tatsächlich hat nur eine Zeile einen „A“-Wert in der Mannschaftsspalte und einen Wert in der Punktespalte von weniger als 20.
Hinweis : Das Symbol & steht für „UND“ in R.
In diesem Beispiel haben wir nur ein einziges „AND“-Symbol in die Funktion subset() eingefügt, aber wir könnten so viele einschließen, wie wir möchten, basierend auf noch mehr Bedingungen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So wählen Sie einzelne Zeilen in einem Datenrahmen in R aus
So wählen Sie Zeilen mit NA-Werten in R aus
So wählen Sie Zeilen basierend auf Vektorwerten in R aus