Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Pas below_zero() toe op temp met sapply() en sla het resultaat op in freezing_s.
  • Pas below_zero() toe op temp met lapply(). Sla de resulterende lijst op in een variabele freezing_l.
  • Vergelijk freezing_s met freezing_l met de functie identical().

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?
Code bewerken en uitvoeren