sapply kan niet vereenvoudigen, en nu?
Het lijkt erop dat we de jackpot hebben gewonnen met sapply(). In alle voorgaande voorbeelden kon sapply() de vrij omvangrijke output van lapply() netjes vereenvoudigen. Maar, net als in het leven, zijn er dingen die je niet kunt vereenvoudigen. Hoe reageert sapply()?
We hebben al een functie below_zero() gemaakt die een vector met numerieke waarden neemt en een vector teruggeeft met alleen de waarden die strikt onder nul liggen.
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Pas
below_zero()toe optempmetsapply()en sla het resultaat op infreezing_s. - Pas
below_zero()toe optempmetlapply(). Sla de resulterende lijst op in een variabelefreezing_l. - Vergelijk
freezing_smetfreezing_lmet de functieidentical().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# temp is already prepared for you in the workspace
# Definition of below_zero()
below_zero <- function(x) {
return(x[x < 0])
}
# Apply below_zero over temp using sapply(): freezing_s
# Apply below_zero over temp using lapply(): freezing_l
# Are freezing_s and freezing_l identical?