Aan de slagGa gratis aan de slag

Gebruik vapply (2)

Tot nu toe heb je gezien dat vapply() zich hetzelfde gedraagt als sapply() als alles volgens plan verloopt. Maar wat als dat niet zo is?

In de video liet Filip zien dat er gevallen zijn waarin de structuur van de output van de functie die je wilt toepassen, FUN, niet overeenkomt met het sjabloon dat je opgeeft in FUN.VALUE. In dat geval geeft vapply() een foutmelding die je informeert over de mismatch tussen de verwachte en de daadwerkelijke output.

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Cursus bekijken

Oefeninstructies

  • Bekijk de vooringeladen code en probeer die uit te voeren. Als je niets hebt aangepast, verschijnt er een foutmelding. Dat komt omdat vapply() nog steeds verwacht dat basics() een vector van lengte 3 teruggeeft. De foutmelding geeft je een aanwijzing wat er mis is.
  • Probeer de fout te herstellen door de vapply()-opdracht te bewerken.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# temp is already available in the workspace

# Definition of the basics() function
basics <- function(x) {
  c(min = min(x), mean = mean(x), median = median(x), max = max(x))
}

# Fix the error:
vapply(temp, basics, numeric(3))
Code bewerken en uitvoeren