sapply ne peut pas simplifier, et maintenant ?
On dirait que nous avons touché le jackpot avec sapply(). Dans tous les exemples jusqu’ici, sapply() parvenait à simplifier proprement la sortie assez volumineuse de lapply(). Mais, comme dans la vie, il y a certaines choses qu’il est impossible de simplifier. Comment sapply() réagit-il dans ce cas ?
Nous avons déjà créé une fonction, below_zero(), qui prend un vecteur de valeurs numériques et renvoie un vecteur ne contenant que les valeurs strictement inférieures à zéro.
Cet exercice fait partie du cours
R niveau intermédiaire
Instructions
- Appliquez
below_zero()àtempavecsapply()et stockez le résultat dansfreezing_s. - Appliquez
below_zero()àtempaveclapply(). Enregistrez la liste obtenue dans une variablefreezing_l. - Comparez
freezing_sàfreezing_là l’aide de la fonctionidentical().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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?