So schreiben sie eine case-anweisung in r (mit beispiel)


Eine Case-Anweisung ist ein Anweisungstyp, der Bedingungen durchläuft und einen Wert zurückgibt, wenn die erste Bedingung erfüllt ist.

Der einfachste Weg, eine Case-Anweisung in R zu implementieren, ist die Verwendung der Funktion case_when() aus dem dplyr- Paket:

 library (dplyr)

df %>% 
  mutate(new_column = case_when(
    col1 < 9 ~ ' value1 ',
    col1 < 12 ~ ' value2 ',
    col1 < 15 ~ ' value3 ',
    TRUE ~ ' Great '))

Diese spezielle Funktion untersucht den Wert in der Spalte namens col1 und gibt Folgendes zurück:

  • Wert1 “, wenn der Wert in Spalte1 kleiner als 9 ist
  • Wert2 “, wenn der Wert in Spalte1 kleiner als 12 ist
  • Wert3 “, wenn der Wert in Spalte2 kleiner als 15 ist
  • Wert4 “, wenn keine der vorherigen Bedingungen wahr ist

Beachten Sie, dass TRUE einer „else“-Anweisung entspricht.

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: case-Anweisung in R

Angenommen, wir haben den folgenden Datenrahmen in R:

 #create data frame
df <- data. frame (player=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
                 points=c(6, 8, 9, 9, 12, 14, 15, 17, 19, 22))

#view data frame
df

   player points
1 1 6
2 2 8
3 3 9
4 4 9
5 5 12
6 6 14
7 7 15
8 8 17
9 9 19
10 10 22

Mit der folgenden Syntax können wir eine Case-Anweisung schreiben, die eine neue Spalte namens „ class“ erstellt, deren Werte durch die Werte in der Punktespalte bestimmt werden:

 library (dplyr)

#create new column using case statement
df %>% 
  mutate(class = case_when(
    points < 9 ~ ' Bad ',
    points < 12 ~ ' OK ',
    points < 15 ~ ' Good ',
    TRUE ~ ' Great '))

   player points class
1 1 6 Bad
2 2 8 Bad
3 3 9 OK
4 4 9 OK
5 5 12 Good
6 6 14 Good
7 7 15 Great
8 8 17 Great
9 9 19 Great
10 10 22 Great

Die case-Anweisung untersuchte den Wert in der Punktespalte und gab Folgendes zurück:

  • Schlecht “, wenn der Wert in der Punktespalte kleiner als 9 war
  • OK “, wenn der Wert in der Punktespalte kleiner als 12 war
  • Gut “, wenn der Wert in der Punktespalte kleiner als 15 war
  • Großartig “, wenn keine der vorherigen Bedingungen zutrifft

Die neue Spalte heißt class , da dies der Name ist, den wir in der Funktion mutate() angegeben haben.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:

So verwenden Sie die If-Anweisung mit mehreren Bedingungen in R
So schreiben Sie eine verschachtelte If Else-Anweisung in R
So schreiben Sie Ihre erste tryCatch()-Funktion in R

Einen Kommentar hinzufügen

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