R you functional?
Nu je geleerd hebt functies te definiëren met verschillende soorten argumenten en retourwaarden, kun je meer geavanceerde functies gaan maken. Zoals je in de vorige oefeningen hebt gezien, kun je prima controlflow-constructies, loops en zelfs andere functies toevoegen aan de body van je functie.
Weet je ons socialemedia-voorbeeld nog? De vectoren linkedin en facebook zijn al gedefinieerd in de werkruimte, dus je kunt meteen aan de slag. Als eerste stap schrijf je een functie die één waarde uit zo’n vector kan interpreteren. In de volgende oefening schrijf je een andere functie die in één keer een hele vector aankan.
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Maak de functiedefinitie voor
interpret()af, die het aantal profielweergaven op één dag interpreteert: - De functie neemt één argument,
num_views. - Als
num_viewsgroter is dan 15, print de functie "You're popular!" naar de console en retourneertnum_views. - Anders print de functie "Try to be more visible!" en retourneert 0.
- Roep tot slot de functie
interpret()twee keer aan: op de eerste waarde van delinkedin-vector en op het tweede element van defacebook-vector.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# The linkedin and facebook vectors have already been created for you
# Define the interpret function
interpret <- function(num_views) {
if (num_views > 15) {
} else {
}
}
# Call the interpret function twice