Schrijf je eigen functie (3)
Weet je het verschil nog tussen een argument met en zonder standaardwaarde? In het gedeelte Usage van de documentatie van sd() staat het volgende:
sd(x, na.rm = FALSE)
Dit vertelt ons dat x moet zijn opgegeven om sd() correct aan te roepen; na.rm heeft echter al een standaardwaarde. Als je dit argument niet specificeert, levert dat geen fout op.
Je kunt in je eigen R-functies ook standaardwaarden voor argumenten definiëren. Gebruik daarvoor het volgende recept:
my_fun <- function(arg1, arg2 = val2) {
body
}
De editor rechts bevat al een uitgebreidere versie van de functie pow_two() van zojuist. 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(): deze functie mag alleen worden uitgevoerd alsprint_infoTRUEis. - Experimenteer gerust met de
pow_two()-functie die je zojuist hebt geschreven.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan 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)
}