CommencezCommencez gratuitement

Quand sapply ne peut pas simplifier, on fait quoi?

On dirait qu'on a touché le gros lot avec sapply(). Dans tous les exemples jusqu'ici, sapply() a réussi à simplifier proprement la sortie plutôt volumineuse de lapply(). Mais, comme dans la vie, il y a des choses qu'on ne peut pas simplifier. Comment sapply() réagit-il?

Nous avons déjà créé une fonction, below_zero(), qui prend un vecteur de valeurs numériques et retourne un vecteur ne contenant que les valeurs strictement inférieures à zéro.

Cette activité fait partie du cours

R intermédiaire

Voir le cours

Instructions de l’exercice

  • Appliquez below_zero() à temp avec sapply() et enregistrez le résultat dans freezing_s.
  • Appliquez below_zero() à temp avec lapply(). Enregistrez la liste résultante dans une variable freezing_l.
  • Comparez freezing_s à freezing_l à l'aide de la fonction identical().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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?
Modifier et exécuter le code