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 het verschil tussen de verwachte en de daadwerkelijke output.
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Bekijk de al ingeladen code en probeer die uit te voeren. Als je niets hebt aangepast, verschijnt er een foutmelding. Dat komt doordat
vapply()nog steeds verwacht datbasics()een vector van lengte 3 teruggeeft. De foutmelding geeft je een aanwijzing wat er misgaat. - Probeer de fout op te lossen door het
vapply()-commando aan te passen.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan 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))