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 .

Einen Kommentar hinzufügen

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