Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Voeg een optioneel argument toe, print_info, dat standaard TRUE is.
  • Zet een if-constructie om de functie print(): deze functie mag alleen worden uitgevoerd als print_info TRUE is.
  • 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)
}
Code bewerken en uitvoeren