So schreiben sie eine verschachtelte if-else-anweisung in r (mit beispielen)
Die ifelse() -Funktion in Basis-R kann zum Schreiben schneller if-else-Anweisungen verwendet werden. Diese Funktion verwendet die folgende Syntax:
ifelse(test, ja, nein)
Gold:
- Test: ein logischer Test
- ja: Der Wert, der zurückgegeben werden soll, wenn der Logiktest „True“ ist
- no: Der zurückzugebende Wert, wenn der Logiktest „Falsch“ ist
In diesem Tutorial wird erklärt, wie Sie diese Funktion verwenden, um if else-Anweisungen sowie verschachtelte if else-Anweisungen in R zu schreiben, und zwar unter Verwendung des folgenden Datenrahmens:
#create data frame df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'), points = c(4, 7, 8, 8, 8, 9, 12), rebounds = c(3, 3, 4, 4, 6, 7, 7)) #view data frame df team points rebounds 1 to 4 3 2 to 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
Beispiel 1: So schreiben Sie eine einfache If-Else-Anweisung
Der folgende Code zeigt, wie man im Datenrahmen eine neue Spalte erstellt, deren Wert auf dem Wert der Spalte „team“ basiert:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ') #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 bad 4 B 8 4 bad 5 B 8 6 bad 6 C 9 7 bad 7 D 12 7 bad
Diese einfache ifelse-Anweisung weist R an, Folgendes zu tun:
- Wenn der Wert in der Teamspalte „A“ ist, geben Sie dem Spieler die Bewertung „ausgezeichnet“.
- Ansonsten verfehle der Spieler „schlecht“.
Beispiel 2: So schreiben Sie eine verschachtelte If Else-Anweisung
Der folgende Code zeigt, wie Sie eine neue Spalte im Datenrahmen erstellen, indem Sie eine verschachtelte if else-Anweisung schreiben:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ' bad ')) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 bad 7 D 12 7 bad
Diese verschachtelte ifelse-Anweisung weist R an, Folgendes zu tun:
- Wenn der Wert in der Teamspalte „A“ ist, geben Sie dem Spieler die Bewertung „ausgezeichnet“.
- Andernfalls, wenn der Wert in der Teamspalte „B“ ist, geben Sie dem Spieler die Bewertung „OK“.
- Ansonsten verfehle der Spieler „schlecht“.
Beispiel 3: So schreiben Sie längere verschachtelte If-Else-Anweisungen
Der folgende Code zeigt, wie Sie eine neue Spalte im Datenrahmen erstellen, indem Sie eine noch längere verschachtelte if else-Anweisung schreiben:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ifelse (df$team == ' C ', ' decent ', ' bad '))) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decent 7 D 12 7 bad
Diese verschachtelte ifelse-Anweisung weist R an, Folgendes zu tun:
- Wenn der Wert in der Teamspalte „A“ ist, geben Sie dem Spieler die Bewertung „ausgezeichnet“.
- Andernfalls, wenn der Wert in der Teamspalte „B“ ist, geben Sie dem Spieler die Bewertung „OK“.
- Andernfalls, wenn der Wert in der Teamspalte „C“ ist, geben Sie dem Spieler die Bewertung „Ordentlich“.
- Ansonsten verfehle der Spieler „schlecht“.
Beachten Sie, dass Sie genau dieses Muster verwenden können, um verschachtelte ifelse-Anweisungen so lange zu schreiben, wie Sie möchten.
Weitere R-Tutorials finden Sie hier .