Een casusverklaring in r schrijven (met voorbeeld)


Een case-instructie is een type instructie dat door de voorwaarden loopt en een waarde retourneert wanneer aan de eerste voorwaarde is voldaan.

De eenvoudigste manier om een case-instructie in R te implementeren is door de functie case_when() uit het dplyr- pakket te gebruiken:

 library (dplyr)

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

Deze specifieke functie kijkt naar de waarde in de kolom col1 en retourneert:

  • waarde1 ” als de waarde in col1 kleiner is dan 9
  • waarde2 ” als de waarde in col1 kleiner is dan 12
  • waarde3 ” als de waarde in kolom2 kleiner is dan 15
  • waarde4 ” als geen van de voorgaande voorwaarden waar is

Merk op dat TRUE gelijk is aan een „else“-instructie.

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: casusverklaring in R

Stel dat we het volgende dataframe in R hebben:

 #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

We kunnen de volgende syntaxis gebruiken om een case-instructie te schrijven die een nieuwe kolom creëert met de naam class , waarvan de waarden worden bepaald door de waarden in de puntenkolom :

 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

De case-instructie keek naar de waarde in de puntenkolom en retourneerde:

  • Slecht ” als de waarde in de puntenkolom minder dan 9 was
  • OK ” als de waarde in de puntenkolom minder dan 12 was
  • Goed ” als de waarde in de puntenkolom minder dan 15 was
  • Geweldig ” als geen van de voorgaande voorwaarden waar is

De nieuwe kolom heet class , omdat dat de naam is die we hebben opgegeven in de mutete() functie.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe gebruik je een If-instructie met meerdere voorwaarden in R
Hoe schrijf je een geneste If Else-instructie in R
Hoe u uw eerste tryCatch()-functie schrijft in R

Einen Kommentar hinzufügen

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