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