Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

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