Schrijf je eigen functie (3)
Weet je nog het verschil tussen een argument met en zonder standaardwaarde? Het gedeelte "Usage" in de documentatie van sd() laat het volgende zien:
sd(x, na.rm = FALSE)
Dit vertelt ons dat x gedefinieerd moet zijn om sd() correct aan te roepen; na.rm heeft echter al een standaardwaarde. Als je dit argument niet opgeeft, veroorzaakt dat geen fout.
Je kunt ook standaardwaarden voor argumenten definiëren in je eigen R-functies. Gebruik hiervoor de volgende "recept":
my_fun <- function(arg1, arg2 = val2) {
body
}
De editor rechts bevat al een uitgebreidere versie van de functie pow_two() van eerder. Kun jij hem afmaken?
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Voeg een optioneel argument toe,
print_info, dat standaardTRUEis. - Zet een
if-constructie om de functieprint()heen: deze functie moet alleen worden uitgevoerd alsprint_infoTRUEis. - Experimenteer gerust met de
pow_two()-functie die je zojuist hebt geschreven.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Finish the pow_two() function
pow_two <- function(x) {
y <- x ^ 2
print(paste(x, "to the power two equals", y))
return(y)
}